2011-09-14 114 views
0

請建議良好的教程,用PHP和MySQL提供jquery ui qutomplete或幫助我解決我的代碼問題。嘗試了所有的方法。找不到錯誤的代碼片段。Jquery-ui自動填充與數據庫

我的PHP代碼看起來像

if (isset($_REQUEST['term'])) 
{ 
    $term = trim(strip_tags($_REQUEST['term']));//retrieve the search term that autocomplete sends 

    $result = $db->query("SELECT company as value,id FROM main WHERE company LIKE '$term'") or die(mysqli_error());; 
    $results = array(); 
    while ($row = $result->fetch_row()) $results[] = array('id' => $row[0] , 'label' => $row[1], 'value' => $row[1]); 
    echo json_encode($results); 
} 

JS代碼如下

$("#auto").autocomplete({ 
    source: "index.php", 
    minLength: 2,//search after two characters 
    select: function(event,ui){ 
    } 
}); 

和HTML標記

<input id="auto" name="company"/> 

有什麼不好的代碼?它不會生成自動完成選項..在PHP日誌文件沒有錯誤。如何解決這個問題?

+0

有一個大的安全漏洞:一個壞人可以像發送一個'$術語「'; DROP DATABASE ......」'(SQL注入) – guettli

+0

是什麼你的JSON響應,你可以添加它 –

+0

你讀過我的問題了嗎?你沒有看到PHP代碼? –

回答

1

源參數必須是字符串,數組或回調類型,而「Defines the data to use」不是用於獲取它們的頁面。你應該使用類似(見here for an example):

$("yourSelector").autocomplete({ 
     source: function(req, add){ 
      $.get("index.php?...", function(data) { 
       var returnData= []; 
       $.each(data, function(i, val){ 
        returnData.push(val.property); 
       }); 
       add(returnData); 
      }); 
     }, [...] 
+0

我的js不夠好。請提前編輯我的代碼,thx –