ユーザーがテキスト フィールドに入力したキーワードからクエリを作成する必要があります。これは次のことを行います。たった1つのキーワードを持つ車。私のテーブルは次のようになります。
field_id | car_id | keyword |
----------------------------
1 | 5 | 1989 |
-----------------------------
2 | 8 | old |
-----------------------------
3 | 8 | ford |
-----------------------------
6 | 8 | cheap |
-----------------------------
4 | 7 | ford |
-----------------------------
6 | 7 | cheap |
-----------------------------
5 | 6 | ford |
-----------------------------
ユーザーが「old」、「ford」、「cheap」を検索した場合、car_id 8、7、および 6 が返されるはずです。これらにはキーワードが含まれているからです。さらに、どの車がどのキーワード (8: "old"、"ford"、"cheap" および 7: "ford"、"cheap" および 6: "ford") を持っているかを知る必要があります。私はMySQLの専門家ではないので、ここで何らかの多次元配列を作成できるかどうかはわかりません...
すべてのキーワードが入力されている車のみを選択するクエリがあります。
Select car_id from keywords
Where keyword in ("old","ford", "cheap")
group by car_id having count(*) = 3;