使用PHP和jQuery自动建议文本框

时间:2013-03-30 10:40:54

标签: php jquery html

我正在尝试使用PHP和jQuery做一个自动建议文本框但是,我正在使用的所有jQuery,基于互联网已经弃用。我不确定我的代码是不工作的还是jQuery。有人可以帮帮我吗? :)提前谢谢!

<?php
   session_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <title>jQuery Autocomplete Plugin</title>
    <script type="text/javascript" src="js/jquery-1.4.2.js"></script>
    <script type='text/javascript' src="js/jquery.autocomplete.js"></script>
    <link rel="stylesheet" type="text/css" href="js/jquery.autocomplete.css" />
    <script type="text/javascript">
      $().ready(function() {
        $("#users").autocomplete("autoCompleteMain.php", {
          width: 260,
          matchContains: true,
          selectFirst: false
        });
      });
    </script>
  </head>
  <body>
    <h2 id="banner">Autocomplete</h1>
    <div id="content">
      <form autocomplete="off">
        <p>
          Enter Username <label>:</label>
          <input type="text" name="users" id="users" />
        </p>
        <input type="submit" value="Submit" />
      </form>
    </div>
  </body>
</html>

PHP:

$host="localhost"; // Host name
$username="root"; // Mysql username
$password="aaaa"; // Mysql password
$db_name="maptemp"; // Database name

$con = mysql_connect($host,$username,$password) or die(mysql_error());
mysql_select_db($db_name, $con) or die(mysql_error());

$q = strtolower($_GET["q"]);
if (!$q) return;
$sql = "select username from users where username LIKE '%$q%'";
$rsd = mysql_query($sql);

while($row = mysql_fetch_array($rsd)) {
  $cname[] = $row['username'];
}

echo json_encode($cname);

3 个答案:

答案 0 :(得分:1)

<强>替换

$q = strtolower($_GET["q"]);

<强>与

$q = strtolower($_GET["term"]);

因为我知道jQuery自动完成通过期限。

答案 1 :(得分:0)

您应该在PHP脚本中声明您的数组:$cname = array();

正如Dipesh Parmar所说,jQuery使用“term”参数。

答案 2 :(得分:0)

不需要在JSON中对结果进行编码,否则在前面解析它。所以在php中创建一个html并回显它,这样就可以得到html格式的结果。