自动完成TextBox JQuery PHP MySQL


Auto Complete TextBox JQuery PHP MySQL

我一直在参考使用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。