【发布时间】:2019-05-27 16:36:14
【问题描述】:
我想根据用户的兴趣(在关键字中)显示出版物。
用户表
id | username
5 | joelsilva
出版物表
id | publication title
8 | The best car of the year!
兴趣表
id | username | interest
8 | joelsilva | car
9 | joelsilva | year
它在主页上显示所有带有汽车标题和年份的出版物。
我试过了:
$pubs = mysql_query(
"SELECT *
FROM PUBLICATIONS
WHERE (interest LIKE '%".$interests."%')
ORDER BY id desc"
) or die(mysql_error());
它有效,但只适用于表格中的一种兴趣类型。如果添加多个兴趣没有显示任何内容。
【问题讨论】:
-
请解释一下您的意思。你想用什么算法?
-
很大程度上取决于您如何填充 $interests.... 如果您只是将关键字连接在一起,您会得到类似 %car year% 的结果,因此除非您按顺序排列这些单词,中间没有任何内容他们那么它将不起作用.....如果您在关键字之间连接一个 % 它可能会更好地工作,或者您可能需要构建查询,为每个兴趣添加一个 OR 条件。
-
我想在mysql_query中使用php代码
-
这是我的代码: $request_username_user_cookie= $requestusercookie["username"]; $request_interesses_total = mysql_query("SELECT * FROM interesses WHERE user='$request_username_utilizador_cookie'"); $request_interesses = mysql_fetch_assoc($request_interesses_total); $Interesses= $request_interesses["interesses"]; $ pubs = mysql_query ("SELECT * FROM PUBLICATIONS WHERE (interesse como '%". $ Interesses. "%') ORDER BY id desc") ou morrer (mysql_error ());