php - 防止 jQuery UI 自动完成显示类似的结果

标签 php jquery mysql user-interface

我正在使用 jQuery UI 自动完成功能来显示我的数据库中可用的结果。我的网站用于房地产列表,我在搜索表单中名为“城市”的字段下使用它,因此如果我在同一城市下列出了 500 处特性,我的字段将显示该城市的名称 500 次。

有什么方法可以阻止它,使相同的结果只能显示一次吗?

这是我的 PHP 文件:

<?php
$mysqli = new mysqli('localhost', 'aliicomb_joombd', 'xxxxxxxx', 'aliicomb_joombd');
$text = $mysqli->real_escape_string($_GET['term']);

$query = "SELECT field_63 FROM jbd_joomd_type15 WHERE field_63 LIKE '%$text%' ORDER BY field_63 ASC";
$result = $mysqli->query($query);
$json = '[';
$first = true;
while($row = $result->fetch_assoc())
{
    if (!$first) { $json .=  ','; } else { $first = false; }
    $json .= '{"value":"'.$row['field_63'].'"}';
}
$json .= ']';
echo $json;
?>

还有我的 Javascript:

<script type="text/javascript">
$(document).ready(function()
{
    $('#field_63').autocomplete(
    {
        source: "city.php",
        minLength: 3
    });

});

</script>

最佳答案

您可以在查询中使用 DISTINCT 关键字从数据库中获取不同的值:

$query = "SELECT DISTINCT field_63 FROM jbd_joomd_type15 WHERE field_63 LIKE '%$text%' ORDER BY field_63 ASC";

关于php - 防止 jQuery UI 自动完成显示类似的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13493794/

相关文章:

java - Hibernate 不使用 spring boot 从 mysql 表返回数据

php - glob() 有否定吗?

jquery - 谷歌 XML 建议

php - 需要在osclass表中添加新字段

javascript - Jquery Submit() 不传递文件数据

javascript - 将 Google 图表转换为图像

PHP 变量返回空值

PHP Echo 结果输入 LIKE $_GET

PHP 5.3.3 配置模块

php - 无法从 PHP 脚本生成的 JSON 数据创建的 JavaScript 对象获取属性