我希望像谷歌那样进行搜索。当您开始输入时,下拉列表中会列出建议,因此我使用了自动填充功能。我的问题是当我键入任何键时输出“找不到结果”,即使我输入的数据在我的数据库中。我检查我的数据库连接及其权限。有人可以向我解释我做错了吗?
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"
});
});
提前致谢
答案 0 :(得分:0)
试试这个,你在命名的param
中缺少:
$stmt = $con->prepare('SELECT CLIENTNAME FROM client WHERE CLIENTNAME LIKE :term');
$stmt->execute(array(':term' => '%'.$_REQUEST['term'].'%'));
希望这有效,如果没有,您可以尝试将回复格式化为label
&amp; value
$return_arr[] = array('label' => $row['CLIENTNAME'], value => $row['CLIENTNAME']);
仍未使用getautocomplete.php
Firebug
响应的屏幕截图