使用JSON,PHP和& A进行自动完成MYSQL没有提炼结果

时间:2016-12-22 14:17:34

标签: php jquery json autocomplete

我正在尝试使用JSON来建议mysqlphp数据库中的搜索项目,但是当我在输入框中输入任何内容时,数据库中的所有结果都会显示,并且没有根据输入文本进行细化。

这是我的html / php UI页面:

<!-- Start of content -->
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script>
$(function() {
    $( "#searchText" ).autocomplete({
        source: 'includes/functions/json_search.php',
        minLength:'2'
    });
});
</script>



<div class="ui-widget">
    <label for="searchText">Search the menu: </label>
    <input id="searchText" name="searchText">
</div>

这是我的php:

<?php 
include_once ("../../config/init.php");

//get search term
$searchTerm = $_GET['searchText'];

//get matched data from menu table
$query = $connection->query("SELECT * FROM menu WHERE name LIKE '%".$searchTerm."%' ORDER BY name ASC");
while ($row = $query->fetch_assoc()) {
    $data[] = $row['name'];
}

//return json data
echo json_encode($data);

?>

任何人都可以建议为什么它不会改进结果?感谢

1 个答案:

答案 0 :(得分:1)

//get search term
$searchTerm = $_GET['searchText'];

应该是:

$searchTerm = $_GET['term'];

jqueryui autocomplete doc

  

自动完成插件不会过滤结果,而是添加一个带有术语字段的查询字符串,服务器端脚本应使用该字段来过滤结果。