2013-05-05 125 views
0

我用下面的代碼從數據庫中獲取jquery的自動完成值:jquery的自動完成功能顯示沒有結果

$(".ui-widget").autocomplete({ 
     source: "search.php", 
     minLength: 2 
    }); 

的search.php由以下部分組成。

<?php 
$mysqli = new mysqli('localhost', 'airports2', '*******', 'airports2'); 
$text = $mysqli->real_escape_string($_GET['term']); 
$query = "SELECT airport FROM airports WHERE airport LIKE '%$text%' ORDER BY airport 

ASC"; 
$result = $mysqli->query($query); 
$json = '['; 
$first = true; 
while($row = $result->fetch_assoc()) 
{ 
    if (!$first) { $json .= ','; } else { $first = false; } 
    $json .= '{"value":"'.$row['name'].'"}'; 
} 
$json .= ']'; 
echo $json; 
?> 
當我輸入搜索項(其中匹配的數據庫條目)

,我可以看到一個小的空白,沒有任何結果,因爲我自己沒有找到。

非常感謝提前,

S.

回答

0

試試這個

$result = $mysqli->query($query); 
$json = $result->fetch_all(MYSQLI_ASSOC); 
echo json_encode($json); 
+0

謝謝,但現在空白甚至沒有顯示出來。 – 2013-05-05 22:05:22

+0

@SWeinberger你做了兩個改變嗎? – 2013-05-05 22:07:23

+0

目前,數據庫中的表格(目前僅包含一列表格)僅包含以下兩項(因此您可以對其進行測試)。 'Brussels,Belgium - National(BRU)' 'Amsterdam,Netherlands - Schiphol(AMS)' 有趣的是,它只顯示了空格結果,當其中一個條目的一部分被輸入時(所以他確實找到了它們顯然),否則它什麼也沒有。 – 2013-05-05 22:08:07

0

串聯在PHP需要.操作。

$query = "SELECT airport FROM airports WHERE airport LIKE '%" . $text . "%' ORDER BY airport 
+0

謝謝你,我做到了,但結果沒有什麼不同。 – 2013-05-05 22:03:46

+0

@KevinBowersox php當你使用雙引號時不需要串聯vars,而是使用撇號 – Sam 2013-05-05 22:11:03

相關問題