2011-09-14 7 views
0

jquery ui qutomplete를 php 및 mysql으로 보내거나 내 코드 문제를 해결하는 데 유용한 튜토리얼을 제안하십시오. 모든 방법을 시도했다. 잘못된 코드를 찾을 수 없습니다.DB를 사용하여 Jquery-ui 자동 완성

내 PHP 코드는 코드를 잘못 무슨

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

아래

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 코드와 HTML 마크 업

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

처럼 보인다? 그것은 자동 완성 옵션을 생성하지 않습니다 .. PHP 로그 파일에 오류가 없습니다. 그 문제를 해결하는 방법?

+0

큰 보안 버그가 있습니다 : 나쁜 사람은 '같은 $ 용어 보낼 수, – guettli

+0

은 무엇인가'(SQL 주입) "'DROP 데이터베이스를 ..." 귀하의 json 응답, 당신은 그것을 추가 할 수 –

+0

전혀 내 질문을 읽었습니까? PHP 코드가 보이지 않습니까? –

답변

1

원본 param은 문자열, 배열 또는 콜백 형식이어야하며 가져 오는 데 사용되는 페이지가 아닌 "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가 충분하지 않습니다. 내 코드를 미리 편집 해주세요. –

관련 문제