使用MYSQL中的数据自动完成

时间:2013-06-20 12:40:01

标签: php mysql jquery-ui autocomplete

我想在从mysql数据库中搜索数据时使用jquery ui制作自动完成功能....因为我正在使用数组中的数据,但我不知道。如何从数据库中查看?这是我的代码。

<script>
$(function() {
    var availableTags = [
        "ActionScript",
        "AppleScript",
        "Asp",
        "BASIC",
        "C",
        "C++",
        "Clojure",
        "COBOL",
        "ColdFusion",
        "Erlang",
        "Fortran",
        "Groovy",
        "Haskell",
        "Java",
        "JavaScript",
        "Lisp",
        "Perl",
        "PHP",
        "Python",
        "Ruby",
        "Scala",
        "Scheme"
    ];

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

任何帮助?

编辑为:

?php  
$q=mysql_query("select rfname from research_details") or die(mysql_error()); 

$array_data = mysql_fetch_array($q);

foreach($array_data as $data) {
 $data1[] = "'".$data."',";
}
$data1 = implode(",",$data1); 
$data = substr($data1,0,-1);


?>
$(function() {

var availableTags = [
<?php echo $data; ?>
];
$( "#tags" ).autocomplete({
source:availableTags 
});
});
</script>

6 个答案:

答案 0 :(得分:1)

使用AJAX(jQuery.ajax()),您可以向服务器上的PHP文件发送请求以从数据库中检索数据并将其作为JSON编码的字符串返回,然后您将{{ 3)}在jQuery / Javascript中并将其添加到DOM。

答案 1 :(得分:1)

查看autocomplete的jQueryUI API文档。

基本上,您将网址指定为source。该URL然后输出jQuery可以处理的页面,例如JSON或XML数据。

$('#autocomplete').autocomplete({
    source: '/data/my-page.php'
});

答案 2 :(得分:0)

代替availableTags,您需要以json格式获取结果,并且可以使用ajax获取这些结果。在ajax调用中,您需要从数据库获取数据,然后以JSON格式对其进行编码,如

echo json_encode($result_array);

并解析它们并将其添加到availableTags中。尝试这些JSON ENCODE

答案 3 :(得分:0)

你可以这样试试。从db获取数据作为数组,然后将其传递给jquery函数。

<?php
$array_data;  // get data from db as array
foreach($array_data as $data) {
$data1[] = "'".$data."',";
} 
$data1=implode(",",$data1);
   $data = substr($data1,0,-1);
?>

<script>
$(function() {

var availableTags = [
<?php echo $data; ?>
];
$( "#tags" ).autocomplete({
source:result_array 
});
});
</script> 

答案 4 :(得分:0)

您需要学习以下链接   Link1   Link2   Link3Demo

答案 5 :(得分:0)

您可以按如下方式对其进行编码:

$("#tags").autocomplete({
    source: function(request, response) {
        jQuery.ajax({
            url: '/autocomplete_query.php',
            dataType: 'json',
            success: function(data) {
                response(data);
            }
    });
});

autocomplete_query.php中SELECT查询的结果结构应与此数组类似:

$result = array(0 => "ActionScript", 1 => "AppleScript", 2 => "Asp",...);

然后应该像这样返回:

echo json_encode($result);
  • 并确保这是autocomplete_query.php上唯一的echo语句。