私はこのMySQLのキーワードに基づいてデータをフィルタリングする方法は?
マイフィルタテーブルのようなメッセージテーブルを持っている.Iキーワードをフィルタリングすることに関して、データを取得するために、問題に直面しています: -
+--+-------+-----------+---------+---------------+
|id|user_id|for_page_id|key_words| message |
+--+-------+-----------+---------+---------------+
| 1| 12| 2 |he,you |You are awesome|
| 2| 12| 2 |the,book |this is good |
+--+-------+-----------+---------+---------------+
私はキーワードの文字列を持っていますそのキーワードに対応するメッセージを見つけたいと思います。
私はこれを試してみました: -
$string='he is good';
$keyWords=explode(' ',$string);
$query="SELECT * FROM `filter` WHERE `key_words` like '".$keyWords[0]."' or`key_words` like
'".$keyWords[1]."' or`key_words` like '".$keyWords[2]."'";
echo ($query);
クエリ外観は
SELECT * FROM `filter` WHERE `key_words` like 'he' or`key_words` like 'is' or`key_words` like 'good'
を好き
| 1| 12| 2 |he,you |You are awesome|
| 2| 12| 2 |the,book |this is good |
受け入れ出力は
| 1| 12| 2 |he,you |You are awesome|
どれでもあなたであるとして、それが出力を提供しますghtsは評価されるだろう。
のようになります。 Mysqlのように、文字列のその部分を比較し、一致する場合は、列のすべての内容を返します。だからアプローチは間違っています。 –
それでは、どうすればPHPコードでこれを行うことができますか? –