【问题标题】:AutoComplete jquery from database来自数据库的自动完成 jquery
【发布时间】:2018-12-31 23:26:47
【问题描述】:

我的代码有问题。

html

<div class="input-group">
<input type="text" class="form-control" id="search">
</div>

data.php

date_default_timezone_set("Asia/jakarta");
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "";
$dbname = "dbautocomplete";

$koneksi = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname)or die("error koneksi");
if(mysqli_connect_errno()){
 echo 'Gagal melakukan koneksi ke Database : '.mysqli_connect_error();
}

$row_set = array();

$term = trim(strip_tags($_GET['q']));

$qstring = "SELECT * FROM tbl_auto WHERE nama_anime LIKE '".$term."%'";
$result = mysqli_query($koneksi,$qstring);
$found=mysqli_num_rows($result);

if($found>0) {
 while ($row = mysqli_fetch_assoc($result)) {

     $row['value']=htmlentities(stripslashes($row['nama_anime']));
     $row['id']=(int)$row['id'];
     $row_set[] = $row;

 }
}else{

 $row_set[]='Not found...';

}
echo json_encode($row_set);

Jquery

    $(document).ready(function(){
        /*autocomplete muncul setelah user mengetikan minimal2 karakter */
        $(function() {  
            $( "#search" ).autocomplete({
                source: "data.php",  

            });
        });
    });

我已经尝试修复此代码,但在字段中输入一些字符后没有响应。 请帮我找出问题所在。 我已经从许多网络上搜索,但我仍然找不到根本原因。

【问题讨论】:

  • 第一次检查应该是 ajax 响应。检查开发人员工具并检查应该会给您更多洞察力的响应
  • @Bsienn 如何查看?对不起,但在这种情况下我是新来的......
  • 按 F12 在浏览器中打开开发人员工具,然后选择网络选项卡,在 XHR 的选项卡过滤器中,会有 ajax 调用列表。单击任何一个呼叫,将打开一个面板。在那检查响应选项卡。

标签: php jquery database autocomplete


【解决方案1】:

试试这个,自动完成接受参数名term不是q

html

<div class="input-group">
    <input type="text" class="form-control" id="search">
</div>

data.php

<?php
date_default_timezone_set("Asia/jakarta");
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "";
$dbname = "dbautocomplete";

try {
    $conn = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname) or die("error connecting database");

    if(mysqli_connect_errno()){
        echo 'Gagal melakukan conn ke Database : '.mysqli_connect_error();
    }

    $term = trim(strip_tags($_GET['term']));

    $qry = "SELECT * FROM nama_anime WHERE nama_anime LIKE '".$term."%'";
    $query  = mysqli_query($conn, $qry);

    if(!$query) {
        $error = mysqli_error($conn);

        throw new Exception($error);
    }

    $result = array();

    while ($row = mysqli_fetch_assoc($query)) {
        $row['value'] = htmlentities(stripslashes($row['nama_anime']));
        $row['id']    = $row['id'];

        $result[] = $row;
    }

    echo json_encode($result);
} catch (Exception $e) {
    $result['error'] = $e->getMessage();

    echo json_encode($result);
}

mysqli_close($conn);

Jquery

    $(document).ready(function(){
        /*autocomplete muncul setelah user mengetikan minimal2 karakter */
        $(function() {  
            $( "#search" ).autocomplete({
                source: "data.php",  

            });
        });
    });

【讨论】:

    猜你喜欢
    • 2014-10-22
    • 2012-10-22
    • 1970-01-01
    • 2016-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-16
    相关资源
    最近更新 更多