来自数据库的自动完成 jquery
Posted
技术标签:
【中文标题】来自数据库的自动完成 jquery【英文标题】:AutoComplete jquery from database 【发布时间】:2018-12-31 23:26:47 【问题描述】:我的代码有问题。
<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 调用列表。单击任何一个呼叫,将打开一个面板。在那检查响应选项卡。 【参考方案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",
);
);
);
【讨论】:
以上是关于来自数据库的自动完成 jquery的主要内容,如果未能解决你的问题,请参考以下文章