PHP SQL多个自动完成搜索

时间:2012-06-22 20:43:07

标签: php sql search

目前我已经编写了一个代码,它只能使用关键字。此外,它不会处理多个条目。例如,如果我在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 
?>

3 个答案:

答案 0 :(得分:1)

您可以尝试修改SQL DB。您可以拥有一个&#34; work_ids&#34;和另一个对应于那些ids的工作&#34;。

对不起,我的部分问题没有得到答复,但感谢@ T恤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");

您可以根据需要添加多少&#34; OR&#34;

答案 1 :(得分:1)

work视为具有值&#39;蓝色&#39;的列。和&#39;绿色&#39;在其中,代码应为:

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

如果情况并非如此,我无法理解你的问题。

答案 2 :(得分:0)

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

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