我使用自动填充来实现Google搜索,搜索建议位于下拉列表中,同时输入我正在搜索的内容。
我的代码输出
HTML
<td width="155" bgcolor="#999999">Client Name</td>
<td width="218" bgcolor="#999999"><input type="text" name="clientname" id="clientname" class="forinput" /></td>
脚本
<script type="text/javascript">
$(document).ready(function() {
$( "#clientname" ).autocomplete(
{
source:"getautocomplete.php",
minLength:1
})
});
</script>
getautocomplete.php
..databaseconnection
$term = trim(strip_tags($_GET['term']));//retrieve the search term that autocomplete sends
$qstring = "SELECT clientname FROM client WHERE clientname LIKE '%".$term."%'";
$result = mysql_query($qstring);//query the database for entries containing the term
while ($row = mysql_fetch_array($result,MYSQL_ASSOC))//loop through the retrieved values
{
$row['clientname']=htmlentities(stripslashes($row['clientname']));
$row_set[] = $row;//build an array
}
echo json_encode($row_set);//format the array into json data
我想要实现的目标
我检查我的数据库连接及其正确。任何人都可以向我解释我做错了什么吗?我错过了什么吗?
答案 0 :(得分:1)
根据jQueryUI is expecting的内容,我认为您发回的结果无效。
现在您正在构建一个数组数组,您应该只返回值(假设label
和value
相同,即客户端的名称):
// $row['clientname']=htmlentities(stripslashes($row['clientname']));
$row_set[] = htmlentities(stripslashes($row['clientname'])); //build an array
另请注意有关已弃用的mysql_*
函数和sql注入的注释。