2016-09-16 15 views
0

私は、複数の列を組み合わせ組み合わせると、別のクエリデータ

SELECT CONCAT(col1, ' - ', col2) AS result 
FROM table 
WHERE col1 LIKE '%apple%' OR 
     col2 LIKE '%apple%' 
ORDER BY col1 ASC 

そしてJSONデータとしてそれを返すためにCONCATを使用しています。

while ($row = mysql_fetch_array($query)) { 
    $data[] = $row['result']; 
} 
echo json_encode($data); 

質問:私はjQueryのでそれを読んだとき がどのように私はその個々のフィールドにデータを分けることができますか? 別々に送信するほうが効率的ですか?

<script> 
    $(function() { 
    $("#AllWord").autocomplete({ 
     source: 'search_apple.php' 
    }); 
    }); 
</script> 
+0

別々の値を使用する場合は、なぜ2つの列を連結しますか? – Neat

+0

オートコンプリートフォーム用です。即座に2つのフィールドを表示します。他の目的のためにそれを分離してください。私はもう一方の方法を丸めることもできます。 – askseekknock

答えて

0

ベストを個別に送信することになるため、コンカットなしでクエリを送信してください。

エンコード:

while ($row = mysql_fetch_array($query)) { 
    $data[] = $query; // No need to create another array, it is already correct 
} 
echo json_encode($data); 

あなたはCONCATする必要がある場合は、まだ連結、個別に次のcol1とcol2にする、(最高の場所は、クエリ自体になります)することができます。

最後の発言:
mysql_ *関数を使用しないでください。
mysqli_ *またはPDOを使用してください。
詳細情報:Why shouldn't I use mysql_* functions in PHP?

+0

オートコンプリート機能でどのように分けることができますか? – askseekknock

+0

別に送信すると、オートコンプリート機能で2つのフィールドを取得するにはどうすればよいですか? – askseekknock

関連する問題