JQuery UI自动完成。问题/结果不够

时间:2017-12-19 19:47:41

标签: jquery jquery-ui autocomplete jquery-ui-autocomplete

我目前正在使用JQuery UI自动完成功能实现搜索引擎。 记录存储在mysql数据库中。 它会返回结果,但还不够。 如果我在phpmyadmin中使用LIKE %"abdo"%执行搜索,我会得到6个结果;在目前的情况下,使用Jquery和db调用脚本,我甚至不会得到一个。 有时,它会提示单词,但仅限于3或4个字符。这很令人惊讶,因为我在设置中将MinLength设置为0。

<script type="text/javascript">
    $(function() {
        //autocomplete
        $(".auto").autocomplete({
            source: "autocomplate.php",
            delay: 0,
            minLength: 0
        });

    });
</script>

部分 autocomplate.php

$stmt = $conn->prepare('SELECT word_fr FROM words_medina WHERE word_fr LIKE :term');
$stmt->execute(array('term' => '%' . $_GET['term'] . '%'));

while($row = $stmt->fetch()) {
    $return_arr[] =  $row['word_fr'];
}

还有什么想法吗?非常感谢您的支持。提前谢谢!

1 个答案:

答案 0 :(得分:0)

建议使用PHP,如:

$stmt = $conn->prepare('SELECT word_fr FROM words_medina WHERE word_fr LIKE :term');
$stmt->execute(array('term' => '%' . $_GET['term'] . '%'));
while($row = $stmt->fetch()) {
    $return_arr[] =  $row['word_fr'];
}
header('Content-Type: application/json');
echo json_encode($return_arr);

查看更多:Returning JSON from a PHP Script

你应该看到如下结果:

[
  "string 1",
  "string 2",
  "string 3"
]

如果您不是,那么您的查询或PHP中就会出现其他问题。