2017-09-21 4 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); 
?> 

私はオートコンプリートの提案ボックスを作成し、その正常に動作しますが、私は私のデータは、ルックラインアポロ、アルト、BMW、カマロある列名のキーワードを持っている、私はexploadを使用していますどここのようなドゥカティ1つずつ一覧表示する機能。私が(a)アルファベットで検索すると結果が表示されますが、(b)アルファベットで検索する場合は何も表示されません。だから、どうすればこの問題を取り除くことができますか?助けてください。

+0

私はこの@Cashbeeをしようとしていますが、それは同じ結果を示すを取得するには、フィルタで使用するありがとうございました。 – 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