2

現在、コードを作成しましたが、キーワードのみで正常に動作します。また、複数のエントリは処理しません。たとえば、DB に「blue」というキーワードが 2 回あるとします。「青」と入力し始めると、検索入力ボックスに「青」が 2 回表示されます。コードの残りの部分は正常に動作します。コードを微調整するにはどうすればよいですか? また、列に「青」と「緑」が行として含まれている場合。「青と緑」という完全なものを示しています。私のphpコード:

<?php
$keyword = mysql_real_escape_string($_POST['keywords']);
$sql = "SELECT * FROM job WHERE work='$keyword' or work LIKE 'ANOTHER_PARAMETER' LIMIT 5";
$result = mysql_query($sql);
$numrows = mysql_num_rows($result);
echo //details and run the loop 
?>
4

3 に答える 3

1

workが値「青」と「緑」を含む列であると考えると、コードは次のようになります。

"SELECT * FROM job WHERE work='$keyword' or work LIKE 'ANOTHER_PARAMETER' GROUP BY work LIMIT 5";

そうでなければ、あなたの質問を理解できませんでした。

于 2012-06-22T20:47:35.373 に答える
1

SQL DB を変更してみてください。「work_ids」の列と「それらの ID に対応する作業」の列を持つことができます。

申し訳ありませんが、あなたの質問の一部を未回答のままにしましたが、@T-shirt Dude に感謝します。すぐに思い出しました。私があなたの質問を正しく読んでいれば、1 つの列で複数のキーワードを検索したいですか? もしそうなら、あなたはすることができます:

$sql = mysql_query("SELECT work_id, work FROM job WHERE work like '%$q%' OR work like 'ANOTHER_PARAMETER'
ORDER BY work_id LIMIT 10");

「OR」はいくつでも入れることができます。

于 2012-06-22T20:46:03.987 に答える
0

完全にフォローしているかどうかはわかりませんが、応答を作成するコードを見ると、もう少し役立つかもしれません。

いずれにせよ、私があなたの問題を理解している方法からすると、グループ化が必要なようです。

于 2012-06-22T20:48:47.520 に答える