2013-05-05 102 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

相关问题