2010-12-02 1 views
0

나는 거의 매일 한 달 동안 이것을 검색했다. 어떤 경우에는 $ .ajax 방법을 사용하고, 다른 방법에서는 $. post 방법을 사용합니다. 자동 완성 http://jqueryui.com/demos/autocomplete/에 대한 jqueryui 데모 페이지에서 데이터를 잡아 사용자에게 보여줄 수있는 간단한 방법을 알 수 있습니다. 이제 여기 내 문제가 온다. mysql 테이블에서 이름 목록을 얻는 간단하고 짧은 방법을 시도하고있다.간단한 방법으로 PHP + MySQL과 함께 새로운 Jqueryui 자동 완성을 사용하는 방법

JS

$ ("#의 사용자 선호도") 자동 완성 ({ 출처 : :. "search.php" MINLENGTH : 3, 는 선택 기능 (이벤트, UI를이 내가 지금 무엇을 가지고) {} });

PHP

$ nameser = $ _POST [ '사용자 선호도'];

$ names = '';

$ result = mysql_query ("SELECT name FROM name LIKE '% $ nameser %'");

while ($ row = mysql_fetch_array ($ result)) {$ names. = "$ row [name]". "
"; }

echo $ names;

입력 상자에서 정보를 PHP로 보내면 검색 패턴이 정확하게 반환됩니다. 그러나 어떻게 자동 완성에 간단한 방법으로 정보를 첨부합니까?

jquery 설명서는 PHP 원격 파일에 대한 간단한 방법을 제공하지 않습니다.

+0

질문에 대한 답변이 아니지만 문자 그대로 위의 코드를 사용하지 않기를 바랍니다. $ nameser를 이스케이프 처리하지 않은 사람은 데이터베이스를 삭제하고 말할 수있는 사람을 의미합니다. – Erik

답변

3

당신은 한 달 동안 검색하면 당신은 2 초 결과

http://www.ajaxdaddy.com/demo-jquery-autocomplete.html

http://www.exploremyblog.com/html/blog_contents.php?blogid=300

http://www.thewhyandthehow.com/jquery-autocomplete/

을 많이 찾을 검색 기적 의 일종해야합니다 아무것도 찾을하지 않은

그 중 수백만 개가 있습니다. 코드에 다음과 같이 입력하십시오.

$(document).ready(function(){ 
    $("#example").autocomplete("./search.php"); 
    }); 

내가 그것을 가지고 노는 몇 분을 보내고 있었다 전에

$nameser = $_GET['q']; 

$names = ''; 

$result = mysql_query("SELECT name FROM characters WHERE name LIKE '%".$nameser."%'"); 

while ($row = mysql_fetch_array($result)) { $names .= $row[name]."\n"; } 

echo $names; 
+0

필자는 실제로 위젯을 사용해 본 적이 없으므로 이것을 테스트하는 데 몇 분이 걸렸으며 위의 대답은 완전히 잘못되었습니다. 줄 바꿈 된 구분 목록은 작동하지 않습니다. json이 기대합니다. – Erik

+0

글쎄, 난 그냥 무슨 말을했는지 따라 http://www.thewhyandthehow.com/jquery-autocomplete/ – Breezer

+0

모든 웹 사이트에 게시 된 모든 내용이 정확하지 않습니다 :-) – Erik

0

위젯을 사용한 적이 데보십시오. 찾은 데이터를 JSON 형식으로 반환하지 않을 가능성이 가장 높습니다. 간단한 테스트에서 'search.php'를 다음과 같이 사용했습니다.

$ary[] = 'hi'; 
$ary[] = 'there'; 
$ary[] = 'world'; 

$o = json_encode($ary); 
echo $o; 

그리고 완벽하게 작동했습니다.

내가 사용한 HTML/자바 스크립트는 위젯의 샘플 페이지입니다 : http://jqueryui.com/demos/autocomplete/remote.html 로컬 서버에 다운로드했는데 물론 포함 된 모든 라이브러리 등의 경로를 테스트하여 테스트했습니다.

관련 문제