2

目前我已经编写了一个代码,它只适用于关键字。此外,它不处理多个条目。例如,如果我在 DB 中有两次关键字“blue”;当我开始输入“蓝色”时,它在搜索输入框中显示“蓝色”两次。其余代码工作正常。我应该如何调整我的代码?此外,如果一列具有“蓝色”和“绿色”作为行;它显示了完整的东西:“蓝色和绿色”。我的PHP代码:

<?php
$keyword = mysql_real_escape_string($_POST['keywords']);
$sql = "SELECT * FROM job WHERE work='$keyword' or work LIKE 'ANOTHER_PARAMETER' LIMIT 5";
$result = mysql_query($sql);
$numrows = mysql_num_rows($result);
echo //details and run the loop 
?>
4

3 回答 3

1

您可以尝试修改您的 SQL 数据库。您可以有一列“work_ids”,另一列用于“对应于这些 id 的工作”。

抱歉,我没有回答你的部分问题,但感谢@T-shirt Dude;我一下子就想起来了。如果我没看错你的问题,你想在一列中搜索多个关键字吗?如果是这样,您可以这样做:

$sql = mysql_query("SELECT work_id, work FROM job WHERE work like '%$q%' OR work like 'ANOTHER_PARAMETER'
ORDER BY work_id LIMIT 10");

您可以放置​​任意数量的“OR”。

于 2012-06-22T20:46:03.987 回答
1

考虑work到 是其中包含值“蓝色”和“绿色”的列,代码应该是:

"SELECT * FROM job WHERE work='$keyword' or work LIKE 'ANOTHER_PARAMETER' GROUP BY work LIMIT 5";

如果不是这样,我无法理解你的问题。

于 2012-06-22T20:47:35.373 回答
0

我不确定我是否完全遵循——查看创建响应的代码可能会对我们有所帮助。

无论如何,从我理解你的问题的方式来看,听起来你可能需要一个小组。

于 2012-06-22T20:48:47.520 回答