0
我試圖使用Jquery UI的自動完成功能來查詢我的數據庫的用戶名。所以用戶輸入一個類似於我的db上的用戶名,並且自動完成功能可以在下拉列表中猜出他們正在查找的內容。不幸的是,我無法讓後端腳本返回建議。Jquery自動完成遠程數據源
<?php
sleep(3);
// no term passed - just exit early with no response
if (empty($_GET['term'])) exit ;
$q = strtolower($_GET["term"]);
// remove slashes if they were magically added
if (get_magic_quotes_gpc()) $q = stripslashes($q);
$sql = "SELECT * FROM users";
$r = mysql_query($sql);
$items = array();
if ($r !== false && mysql_num_rows($r) > 0) {
while ($a = mysql_fetch_assoc($r)) {
$username = $a['username'];
array_push($items, $username);
}
}
$result = array();
foreach ($items as $key=>$value) {
if (strpos(strtolower($key), $q) !== false) {
array_push($result, array("id"=>$k, "label"=>$key, "value" => strip_tags($key)));
}
if (count($result) > 11)
break;
}
// json_encode is available in PHP 5.2 and above, or you can install a PECL module in earlier versions
echo json_encode($result);
/* echo $items; */
?>
腳本簡單地返回一個空數組,即使它應該返回一個結果。我不知道這裏有什麼問題..
嗯,但你有任何想法爲什麼腳本返回一個空的數組? – Thomas 2012-07-30 15:35:32
它看起來像您的偏移值$ q被分配一個字符串 $ q = strtolower($ _ GET [「term」]); $ q是您的偏移量,應該是每個文檔中從strpos開始搜索的數值:偏移量 如果指定,則搜索將從字符串的開頭開始計算該字符數。 – 2012-07-31 14:43:28