我正在尝试使用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);
答案 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格式的结果。