2017-09-21 1 views
0

코드 :mysqli에서 자동 완성 쿼리를 작성하는 방법은 무엇입니까?

<?php 
    include('config.php'); 
    $return_arr = array(); 
    $term = $_GET['term']; 
    $term = str_replace('.','',$term); 
    $sql = "SELECT * FROM submission where keyword like '".$term."%' or keyword 
    like '%".$term."%' ORDER BY CASE WHEN keyword LIKE '".$term."%' THEN 1 
    ELSE 2 END"; 
    $r = mysqli_query($link,$sql); 
    while($row = mysqli_fetch_assoc($r)) 
    { 
    $key = explode(",", $row['keyword']); 
    foreach ($key as $keyword) 
    { 
     $return_arr[] = $keyword; 
    } 
    } 
    echo json_encode($return_arr); 
?> 

나는 자동 완성 제안 상자를 만들었하고는 제대로 작동하지만, 내가 expload을 사용하고있는 곳과 같은 DUCATI을 내 데이터를 살펴 라인 아폴로, 알토, BMW, 카마로있는 열 이름 키워드가 함수를 하나씩 나열하십시오. 내가 (a) 알파벳으로 검색하면 결과를 보여 주지만 (b) 알파벳으로 검색하려면 아무 것도 표시하지 않습니다. 그래서, 어떻게이 문제를 제거 할 수 있습니까? 제발 도와주세요.

당신은

+0

나는이 @Cashbee을 시도하고 더 나은 결과를 얻기 위해 IN 필터를 사용하여 감사하지만 동일한 결과를 보여주는. – omkara

답변

0

복수 키워드

SELECT keyword FROM submission WHERE keyword IN ('Apolo', 'BMW', ...); 
+0

알 수없는 컬럼 'a'를 어디에 표시합니까 @ rak007 – omkara

+0

@omkara 제발 좀 더 정확히 말하면 이해할 수 없네요. – rak007

+0

phpmyadmin에서 IN 절을 사용하고 쿼리를 실행했지만 아무 것도 보여주지 않습니다. SELECT 키워드 FROM submission처럼 실행했습니다. 키워드 IN (Apolo); 그래서 where 절에 알려지지 않은 컬럼 'Apolo'를 보여줍니다. – omkara

관련 문제