使用自动完成功能从MYSQL中获取数据未找到结果

时间:2014-06-17 04:53:39

标签: php jquery mysql

我希望像谷歌那样进行搜索。当您开始输入时,下拉列表中会列出建议,因此我使用了自动填充功能。我的问题是当我键入任何键时输出“找不到结果”,即使我输入的数据在我的数据库中。我检查我的数据库连接及其权限。有人可以向我解释我做错了吗?

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"
   });
  });

提前致谢

1 个答案:

答案 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响应的屏幕截图