2012-11-26 2 views
0

검색 텍스트 상자에 자동 완성 상자를 사용했습니다. 그 날 위해 제대로 작동 ...이자동 완료 데이터를 분류하십시오

<?php 

require_once('database.php'); 

if(isset($_POST['queryString'])) { 

    $queryString = $dbc->real_escape_string($_POST['queryString']); 

    if(strlen($queryString) >0) { 
     $q = "SELECT keyword 
       FROM (
        SELECT tname AS keyword FROM t 
        UNION 
        SELECT sname AS keyword FROM sub 
        UNION 
        SELECT cname AS keyword FROM c 
        UNION 
        SELECT iname AS keyword FROM i 
       ) s 
       WHERE keyword LIKE '%$queryString%' 
       LIMIT 10"; 

     $r = mysqli_query ($dbc, $q); 

     if($q) { 
      while ($row = mysqli_fetch_array($r, MYSQL_ASSOC)) { 
       echo '<li onClick="fill(\''.$row['keyword'].'\');">'.$row['keyword'].'</li>'; 
      } 
     } else { 
      echo 'ERROR: There was a problem with the query.'; 
     } 
    } else { 

    } 
} else { 
    echo 'There should be no direct access to this script!'; 
} 

?> 

문제가 관련 키워드에 대한 주체, 교사 이름, 기관 등의 모든 결과 내 자동 완성 상자 표시입니다 .. 내 스크립트입니다. 이제 자동 완성 상자로 분류하고 싶습니다. 예 : 주제 카테고리의 과목, 교사 카테고리의 과외 이름 등 ... 내가하려는 것은 페이스 북 검색 옵션과 비슷한 것입니다.

이것은 내 jQuery입니다. :

<script type="text/javascript"> 

    function lookup(inputString) { 

     if(inputString.length == 0) { 
      $('#suggestions').hide(); 
     } else { 
      $.post("rpc.php", {queryString: ""+inputString+""}, function(data){ 
       if(data.length >0) { 
        $('#suggestions').show(); 
        $('#autoSuggestionsList').html(data); 
       } 
      }); 
     } 
    } 

    function fill(thisValue) { 
     $('#inputString').val(thisValue); 
     setTimeout("$('#suggestions').hide();", 200); 
    } 

</script> 

누구든지 나를 도와 줄 수 있습니까? 감사합니다.

+0

을 시도하는 것이 좋습니다, 및 데이터 일치 예 http://jqueryui.com/을 만들 것 autocomplete/# categories – charlietfl

답변

1

검색 텍스트 입력 근처의 드롭 다운을 사용하여 카테고리 또는 복수 확인란을 선택하여 어떤 조합을 만들지 확인하십시오. 난 당신이 jQueryUI 자동 완성을 사용하는 경우 소스 코드의 범주 .Look에 대한 데모가 http://sphinxsearch.com/

스핑크스

SELECT 1 as type,tname AS keyword FROM t 
        UNION 
        SELECT 2 as type,sname AS keyword FROM sub 
        UNION 
        SELECT 3 as type,cname AS keyword FROM c 
        UNION 
        SELECT 4 as type,iname AS keyword FROM i 

foreach($results as $result) 
{ 
    switch($result['type']) 
    { 
     case 1: 
     $cat_1[]=$result; 
     break; 

     case 2: 
     $cat_2[]=$result; 
     break; 
    } 

} 
+0

내 queryString 변수는 4 개의 테이블을 확인하고 사용자가 입력 한 키워드와 관련된 값으로 자동 완성 상자를 표시합니다. 그것의 완벽하게 작동합니다. 이제 자동 검색 상자에 표시 결과를 분류해야합니다. 명확한? – ugnuku

+0

유형 열을 추가하여 정렬 및 출력을 수행 할 수 있지만 –

+0

답장을 보내 주셔서 감사합니다 ...이 쿼리를 사용하여 자동 완료 상자를 어떻게 분류 할 수 있습니까? – ugnuku

관련 문제