【问题标题】:jQueryUI Autocomplete - PHP SELECT values FROM multiple tablesjQueryUI 自动完成 - PHP 从多个表中选择值
【发布时间】:2014-03-29 22:55:29
【问题描述】:

我正在使用 jQueryUI 自动完成功能来搜索 mySQL 数据库。我对数据库中的单个列进行了此操作,但我希望自动完成功能同时搜索多个列。

例如表格:

Companies                           Sectors
----------                          ---------
company_id                          sector_id
company                             sector

所以我希望自动完成功能同时搜索 Companies.company 和 Sectors.sector 并从两个表中提供自动完成建议。

这是我到目前为止一直在使用的 php,它不会向自动完成返回错误或数据:

<?php
$con=mysqli_connect(database_details);
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$q = strtolower($_GET["term"]);


$return = array();


$query = mysqli_query($con, "SELECT company FROM companies UNION SELECT sector FROM sectors AS data WHERE data LIKE '%$q%'");

if($query === FALSE) {
die(mysql_error()); 
}

while ($row = mysqli_fetch_array($query)) {
array_push($return,array('label'=>$row['data'],
                        'value'=>$row['data']
));
}

echo(json_encode($return));

mysqli_close($con);

?>

JS真的很简单:

<script>
$(document).ready(function search() {
$( "#search" ).autocomplete({
source: "php/search.php"
});
});     
</script>

我对此很陌生,所以请不要打我,尽管这可能是我个人的一个非常简单的错误 :)

我花了很多时间(小时)试图弄清楚这一点,但没有找到任何堆栈溢出(或其他)示例代码来帮助我完成这个特定任务。

非常感谢期待

【问题讨论】:

  • EDIT - FIXED THE PROBLEM MYSELF你能添加答案并接受吗?

标签: php mysql jquery-ui autocomplete


【解决方案1】:

好的,所以我一直在玩这个,正如我所想的那样,这是我的 mysqli_query 的错误。

我不得不把它改成这样才能工作:

SELECT company FROM companies WHERE company LIKE '%$q%' UNION SELECT sector FROM sectors WHERE sector LIKE '%$q%'

对于那些有经验的人来说,这很可能是一个非常简单的方法,但感谢 Tularis 的帮助 - 测试 JSON 返回是导致我这样做的原因

【讨论】:

    猜你喜欢
    • 2016-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-29
    • 1970-01-01
    • 2011-08-29
    • 1970-01-01
    相关资源
    最近更新 更多