我想在从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>
答案 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)
答案 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);
echo
语句。