【问题标题】:PHP SQL Multiple autocomplete searchPHP SQL 多重自动完成搜索
【发布时间】:2012-06-22 20:43:06
【问题描述】:

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

【问题讨论】:

  • 您缺少 javascript 部分。发布那个

标签: php sql search


【解决方案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”。

【讨论】:

  • 感谢您提供全面的代码和建议。将关键字保存为 id 是一件好事。
【解决方案2】:

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

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

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

【讨论】:

    【解决方案3】:

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

    无论如何,从我理解您的问题的方式来看,您可能需要一个 group by。

    【讨论】:

    • 我只需要包含命令。我是 PHP 新手,我不习惯使用大号。的标准命令。所以,想想这个地方是否可以帮助我。
    猜你喜欢
    • 2016-08-09
    • 1970-01-01
    • 1970-01-01
    • 2015-01-22
    • 2013-04-07
    • 1970-01-01
    • 2021-12-03
    • 2014-06-15
    相关资源
    最近更新 更多