2012-12-08 3 views
0

AJAX를 사용하여 MySQL LIKE 쿼리를 실행하고 html을 사용하여 결과 집합 데이터를 표시합니다.MySQL : 간단한 LIKE 문이 예상대로 패턴과 일치하지 않습니다.

쿼리에서 반환 된 결과는 항상 searchword 변수에 마지막 문자를 뺀 값이 저장되어 있고 그 이유를 알 수없는 것 같습니다.

MySQL의 : searchword의 var에 'BAB'= string(49) "SELECT * FROM products WHERE prod_name LIKE 'ba%'"

JQuery와/AJAX 포함("SELECT * FROM products WHERE prod_name LIKE '".$searchword."%'")

위해서 var_dump :

function search(searchword) {  
    $('.smart-suggestions').load('invoice-get-data.php?searchword=' + searchword); 
} 

마크 업을

<input onKeyPress="search(this.value)" type="text" class="prod-name-input"/> 
+1

관련 코드를 invoice-get-data.php에 게시 할 수 있습니까? – zongweil

+0

답장을 보내 주셔서 감사합니다. 편집 된 게시물보기 – AnchovyLegend

+0

쿼리가 실행되기 전에'$ searchword'에 "bab"이 포함되어 있는지 확인 했습니까? (즉, 전체 키워드가 PHP 코드를 가져오고 있으며 그것은 쿼리에서 단편화 된 것입니다.) – Emily

답변

3

문제는 텍스트 필드 값이 업데이트되기 전에 onkeypress가 실행된다는 것입니다. 이 때문에 한 문자 지연이 발생합니다. 이 문제를 해결하려면 대신 키 업을 사용할 수 있습니다.

<input onKeyUp="search(this.value)" type="text" class="prod-name-input"/> 
관련 문제