По сути, у меня есть живой поиск, который работает для двух из трех переключателей. «Профессор» и «Кафедра» работают отлично. Но радиокод "Курс", похоже, не работает. Я не понимаю




Кажется, 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, или «Префикс» и «Код» вместе означают что-то вроде «ИНФО 153».
Кто-нибудь? Есть ли у Ajax ограничение на количество записей, которые он может извлечь? Эта таблица курсов может иметь 1200 курсов, но почему они не определены?