【问题标题】:JQuery UI autocomplete. Issues / not enough resultsJQuery UI 自动完成。问题/没有足够的结果
【发布时间】:2018-06-02 07:33:43
【问题描述】:

我目前正在实现一个带有 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'];
}

有人知道吗?感谢您的支持。提前致谢!

【问题讨论】:

  • 在 db 中寻找“acide”,有 16 个匹配项。同样,没有一个带有 Jquery UI 和自动编译查询。
  • 您能否编辑并提供来自autocomplate.php?term=aci 等的响应示例。怀疑缺少 JSON 编码也可能在此问题中起作用。

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


【解决方案1】:

建议使用 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 中存在其他问题。

【讨论】:

    猜你喜欢
    • 2013-12-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-04
    • 2011-11-16
    • 2017-06-19
    • 2011-08-11
    • 1970-01-01
    相关资源
    最近更新 更多