【发布时间】:2014-06-17 04:53:38
【问题描述】:
我想要像谷歌那样的搜索。当您开始输入时,下拉列表中会列出建议,因此我使用了自动完成功能。我的问题是当我输入任何键时,即使我输入的数据在我的数据库中,输出也是“未找到结果”。我检查了我的数据库连接及其正确性。有人可以向我解释我做错了什么吗?
HTML
<input type="text" name="clientname" id="clientname" />
php 这部分已编辑,我尝试了@asik 的建议但仍然无法正常工作
文件名:getautocomplete.php
if (isset($_REQUEST['term'])){
$return_arr = array();
$stmt = $con->prepare('SELECT * FROM client WHERE CLIENTNAME LIKE :term');
$stmt->execute(array('term' => '%'.$_GET['term'].'%'));
while($row = mysqli_fetch_assoc($stmt)) {
$return_arr[] = $row['CLIENTNAME'];
}
echo json_encode($return_arr);
}
else
{
echo 'ERROR: ' . $e->getMessage();
}
JavaScript
$(function() {
$("#clientname" ).autocomplete({
source: "getautocomplete.php"
});
});
提前致谢
【问题讨论】:
-
我认为,您正在使用 jquery 自动完成功能。默认情况下,作为参数“术语”发布的值。因此您可以将 $_REQUEST['clientname'] 更改为 $_REQUEST['term']
-
我将所有客户端名称更改为术语,然后将 mysql_* 更改为 mysqli。但仍然无法正常工作。我应该在 if 语句之前添加一些内容吗?谢谢
-
使用
Firebug或Chrome Deve Tool查看getautocomplete.php发送的内容