Php 从MySQL检索自动搜索值

Php 从MySQL检索自动搜索值,php,jquery,mysql,json,Php,Jquery,Mysql,Json,我有一个Jquery自动搜索功能,它可以为我提供结果,但是我宁愿从数据库中选择结果,而不是硬编码的可用标记 <script> $(document).ready(function(){ $("#tabs").tabs(); var availableTags = [ "ActionScript", "AppleScript", "Asp", "BA

我有一个Jquery自动搜索功能,它可以为我提供结果,但是我宁愿从数据库中选择结果,而不是硬编码的可用标记

<script>
    $(document).ready(function(){
        $("#tabs").tabs();

        var availableTags = [
            "ActionScript",
            "AppleScript",
            "Asp",
            "BASIC",
            "C",
            "C++",
            "Clojure",
            "Scheme"
        ];

        $("#autocomplete").autocomplete({
            source: availableTags
        });
    });
</script>   

你能提出一个解决方案吗?我需要JSON还是其他什么?

将源代码更改为php文件,在该文件中搜索数据库并返回结果:

$("#autocomplete").autocomplete({
    source: search.php
});
search.php

//get your stuff from the database and build an array

$array = array(
   0 => array(
      "label"   => "item #1",
      "value"   => 123
   ),
   1 => array(
      "label"   => "item #2",
      "value"   => 111
   ),
   2 => array(
      "label"   => "item #3",
      "value"   => 222
   )
);

echo json_encode($array);

首先创建index.php并编写以下代码

<html>
<body>
<input type="text"  class="autosuggest"/><input type="submit" value="search"/>
<div class="dropdown">
<ul class="result"></ul>
</div>
<script src="jquery-1.8.2.min.js"></script>
<script src="javascrip.js"></script>
</body>
</html>
$(document).ready(function() {
    $('.autosuggest').keyup(function() {
    var search_term=$(this).attr('value');
    $.post('search.php', {search_term:search_term},function(data){
        $('.result').html(data);

        $('.result li').click(function(){
        var result_value=$(this).text();
    $('.autosuggest').attr('value', result_value);
    $('.result').html('');
        });

         });
        });
});
最后创建search.php并编写下面的代码

<?php 
$con=mysql_connect('localhost','root','') or die(mysql_error());
$db=mysql_select_db('your database name');
if(isset($_POST['search_term']))
{
    $search_term=mysql_real_escape_string($_POST['search_term']);
$query=mysql_query("SELECT Names FROM `name` WHERE `Names` LIKE '$search_term%'");
while($row=mysql_fetch_array($query)){
echo '<li>',$row['Names'],'</li>';
}
}
?>

我认为这就是您需要的bro。

如果愿意,可以使用AJAX查询数据库返回JSON的结果,并将结果数组提供给autocomplete。没问题。患难见真情。