MYSQL は次のことができますか?
私の条件 =a b c
私のクエリ =SELECT * FROM pages WHERE
コンテンツCONTAINS (a AND b AND c)
ページ内に複数の用語を含むクエリを作成する必要があります (サーチャー)。これを持つセルがある場合は"1a2b3c"
フィルタリングする必要があり、他のセルが"1a2b4d9i"
ある場合は 2 番目のセルをフィルタリングする必要はありません。
また、できれば言葉で絞り込みたいです。のように"1a2b3c" --> "1 a 2 b 3 c"
、テキストが結合されている場合はフィルタリングされません。
このコードをテストします
$sql = mysql_query("SELECT * FROM pages WHERE "
."(`title` LIKE '%$s%' OR "
."`title` LIKE '%$s' OR "
."`title` LIKE '$s%' OR"
."`content` LIKE '%$s%' OR "
."`content` LIKE '%$s' OR "
."`content` LIKE '$s%') "
."AND `name` != 'inicio' "
."AND `name` != 'contactenos' "
."AND `name` != '404' "
."AND `name` != '403' "
."AND `name` != 'login'");
値が 1 つの場合はうまく機能しますが、値が 2 つ以上の場合は何かを見つけることができません。
(a,b,c)
また、a|b|c
とAGAINST
、およびその他を試しましREGEX
たが、動作させることができませんでした。
編集 1:「foo bar」を検索し、php コードがそれを配列に変換する場合、MYSQL に書き込むにはどうすればよいですか? 私が検索"foo bar"
し、私のテキストがそれで"the foo bar is awesome"
あり、他のテキストが"the foo is worst"
最初にのみ印刷される場合に必要です。