我一直在参考使用JQuery、PHP、MySQL 的自动完成文本框
我的页面被分为各种PHP模板。以下是代码:
Header.php
<!-- JQuery AutoComplete CSS -->
<link href="../css/jquery.autocomplete.css" rel="stylesheet">
<!-- JQuery JS -->
<script type="text/javascript" src="../js/jquery.js"></script>
<!-- JQuery AutoComplete JS -->
<script type="text/javascript" src="../js/jquery.autocomplete.js"></script>
主页此页面存在于http://localhost/booking/mainpage.php
<tr>
<td class="col-md-4"><label class="control-label">Pooja Name</label></td>
<td class="col-md-8"><input type="text" name="txtPoojaName" id="poojaName" class="form-control" placeholder="Enter Pooja Name"></td>
</tr>
我已经将脚本代码包含在主页中的body标记结束之前的最后部分。
<script>
$(document).ready(function(){
$("#poojaName").autocomplete("autocomplete.php", {
selectFirst: true
});
});
</script>
autocomplete.php
此页面存在于http://localhost/booking/autocomplete.php
<?php
$q=$_GET['q'];
$my_data=mysql_real_escape_string($q);
$dbc=mysqli_connect('localhost','root','pass@1234','srkbs') or die("Database Error");
$sql="select distinct poojaname from v_poojadetails where poojaname like '%$my_data%' order by poojaname";
$result = mysqli_query($dbc,$sql) or die(mysqli_error());
//echo mysqli_num_rows($result);
if($result)
{
while($row=mysqli_fetch_array($result))
{
echo $row['PoojaName']."'n";
}
}
?>
我已经单独测试了autocomplete.php,它会返回结果集。我想我在JQuery或其他地方犯了一些错误。
请提供建议。
只需看看这里:http://jqueryui.com/autocomplete/
$("#poojaName").autocomplete({
source: ["poojaOne","poojaTwo"."poojaThree"],
selectFirst: true
})
当您用autocomplete.php
填充pooja列表时,您应该使用Ajax
来引入列表,并且在PHP
文件中,您最好使用json_encode
来回显数组。看看这里http://php.net/manual/en/function.json-encode.php了解如何将PHP数组编码为JSON。