2013-01-05 45 views
0

我使用jQuery自動完成插件的工作成果,這是我的指標:jQuery的 - 自動完成不顯示從數據庫

<script> 
    $(document).ready(function(){ 
    $("#tag").autocomplete({source: "./search.php?q="+ $("#tag").val()}); 
    }); 
</script> 

<form action="search.php" method="post" class="form-inline search"> 
    <input type="text" id="tag" name="tag"> 
    <input type="submit" class="btn" value="Search" /> 
</form> 

search.php這是在同一文件夾中index.php是以下幾點:

include 'config.php'; 
$q=$_GET['q']; 
$my_data=mysql_real_escape_string($q); 

$sql="SELECT * FROM tags WHERE tag LIKE '%$my_data%'"; 
$result = mysql_query($sql) or die(mysql_error()); 

if($result) 
{ 
    while($row=mysql_fetch_array($result)) 
    { 
    echo $row['tag']."\n"; 
    } 
} 

當我開始輸入時,自動完成功能不會提供任何建議。 JS控制檯也沒有錯誤。代碼中只顯示No search results.。 路徑設置正確,數據庫連接也是如此。

因此,哪裏可能會出現問題?

謝謝

+0

當你訪問search.php時,你看到任何結果嗎?q =直接的東西? –

+0

是的,我看到空白頁上的結果。 – user984621

回答

1

你並不需要使用查詢字符串上自動完成的src網址。 只要寫你的src文件,而無需查詢字符串:

$("#tag").autocomplete({source: "./search.php"}); 

而在你的PHP文件,你必須捕捉項參數:

$q = $_GET['term']; 
+0

這不幸的是不適合我... – user984621

0

解決這種方式 - 在PHP文件必須以JSON返回數據:

while($row=mysql_fetch_array($data)) 
{ 
    $result[] = $row['tag']; 
} 
echo json_encode($result);