基本上,我有一个正在为3个单选按钮中的两个工作的实时搜索。 “教授”和“部门”都很好。但“课程”无线电代码似乎没有工作。我不明白。 为什么不是这个PHP/AJAX工作?
看来Ajax的工作,但由于某种原因它不拉这些字段。
在PHP是
function getDepartment($keywords){
$arr = array();
$query = mysql_query("SELECT dID, name
FROM Department
WHERE name LIKE '%". $keywords . "%'");
while($row = mysql_fetch_array ($query))
{
$arr[] = array("id" => $row["dID"], "name" => $row["name"]);
}
return $arr;
}
function getCourse($keywords){
$arr = array();
$query = mysql_query("SELECT cID, prefix, code
FROM Course
WHERE CONCAT(prefix,code) LIKE '%". $keywords . "%'");
while($row = mysql_fetch_array ($query))
{
$arr[] = array("id" => $row["cID"], "course" => $row["prefix"] . ' ' . $row["code"]);
}
return $arr;
}
**的Javascript
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>jQuery Search Demonstration</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$(".keywords").keyup(function(){
getData();
});
$(".table").click(function(){
getData();
});
});
function getData(){
$.post("search.php",
{
keywords: $(".keywords").val(),
table: $('.table:checked').val()
},
function(data){
$("div#content").empty();
var phppage;
switch($('.table:checked').val())
{
case 'professor':
phppage = 'prof';
ext = '.php?pID=';
break;
case 'department':
phppage = 'department';
ext = '.php?dID=';
break;
case 'course':
phppage = 'course';
ext = '.php?cID=';
break;
}
$.each(data, function(){
$("div#content").append("- <a href='" + phppage + ext + this.id + "'>" + this.name + "</a>");
});
},
"json");
}
</script>
</head>
<body>
Search by:
<input type="text" name="search" class="keywords" /><br />
<input type="radio" name="table" class="table" value="professor" checked="checked" /> Professor<br />
<input type="radio" name="table" class="table" value="department" /> Department<br />
<input type="radio" name="table" class="table" value="course" /> Course<br />
<div id="content" style="background-color:#eee;"></div>
</body>
</html>
的一列 “代码” 是一个数值,例如153或两者“前缀和 “代码”一起会像“INFO 153”一样。
任何人?Ajax是否有限制它可以拉出的记录数量?本课程表可能有1200门课程,但为什么他们没有定义?
什么是JavaScript代码? – 2011-03-31 01:11:43
看起来像你的Where子句不工作,你得到所有行 – fazo 2011-03-31 01:15:29
Javascript被添加。 Fazo怎么会是where子句?它适用于教授和那些在sql中使用* concat()*以及 – Jshee 2011-03-31 01:25:12