JQuery Autocomplete from Database

匿名 (未验证) 提交于 2019-12-03 02:20:02

问题:

I need to to do autocomplete suggestion for my website and the data should be retrieved from database. I want to use JQuery autocomplete. here is my code but it doesn't work! This is my php file with the name of gethint.php:

<?php require_once ('config.php'); $q=$_REQUEST["q"];  $sql="SELECT `fname` FROM `Property` WHERE fname LIKE '%$q%'"; $result = mysql_query($sql); $json=array();  while($row = mysql_fetch_array($result)) {   $json[]=array(   'value'=> $row['fname'],   'label'=> $row['fname']    );    }    echo json_encode($json);   ?> 

and then this is my html file :

<html> <head> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>  <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js"></script> <link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" />  <script type="text/javascript">   $(document).ready(function(){                    $("#hint").autocomplete({                          source:'gethint.php',   minLength:1                      });     });         </script> </head> <body> <form class="sansserif" action="view.php" method="post"> Name: <input type="text" id="hint" name="hint" > <input type="submit" name="submit" value="View"> </form> </html> 

It took a lot of time but I couldn't find the problem. I was wondering if someone could help me. Thanks.

回答1:

I did some changes, maybe you need to fix something but take a look to see if helps...

The php:

<?php     require_once ('config.php');      $q=$_REQUEST["q"];      $sql="SELECT `fname` FROM `Property` WHERE fname LIKE '%$q%'";     $result = mysql_query($sql);      $json=array();      while($row = mysql_fetch_array($result)) {       array_push($json, $row['fname']);     }      echo json_encode($json); ?> 

The html+jquery:

<html>     <head>         <script src="//code.jquery.com/jquery-1.10.2.js"></script>         <script src="//code.jquery.com/ui/1.11.1/jquery-ui.js"></script>         <link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" />     </head>     <body>         <form class="sansserif" action="view.php" method="post">             Name: <input type="text" id="hint" name="hint" />             <input type="submit" name="submit" value="View">         </form>          <script type="text/javascript">           $(function() {             $( "#hint" ).autocomplete({                 source: function( request, response ) {                     $.ajax({                         url: "gethint.php",                         dataType: "jsonp",                         data: {                             q: request.term                         },                         success: function( data ) {                             response( data );                         }                     });                 },             });         });              </script>     </body> </html> 


回答2:

You can see a working example at: http://zrift.com/jQueryAutocomplete/

<?php  require_once ('..\config.php');  $q=$_REQUEST["term"];   $sql="SELECT `fname` FROM `Property` WHERE fname LIKE '%$q%'";  $result = mysql_query($sql);   while($row = mysql_fetch_array($result)) {   $json[]=array(    'value'=> $row['fname'],    'label'=> $row['fname']   );  }  echo json_encode($json); ?> 

All I changed was the $_REQUEST["q"] to $_REQUEST["term"].



回答3:

Your PHP script should be accepting a term parameter, not q.



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!