0

基本的に、特定の製品に関するタグを保存するように設計された「タグ」と呼ばれるフィールドを持つデータベースに製品データを保存しています。これらのタグは次のような形式で保存されます。

"タグ1,タグ2,タグ3,タグ4"

問題は、ユーザーがその特定のタグのすべての最新製品を表示できるページが必要だと言うことです。すべての製品を取り、「タグ」フィールドを取得し、それらを分離してから、その特定のタグがそこに存在するかどうかを最後に確認することなく、どうすればこれを達成できますか?

mysql コマンドでこれを行うことは可能ですか?

申し訳ありませんが、コードを投稿しませんでした。一般的に、このようなことをどのように行うべきかわかりません。

ありがとうございました!

4

2 に答える 2

1

おそらく最も効率的な方法ではありませんが、次の方法があります。

WHERE tags LIKE '%$search_tag%'

これは、検索対象のタグが別のタグに含まれていないこと、または次のものが必要であることを前提としています。

WHERE
   tags LIKE '%,$search_tag%'
   OR tags LIKE '%$search_tag,%'
   OR tags = '$search_tag'

明らかに、search_tag適切にエスケープする必要があります。

于 2012-09-29T18:27:00.047 に答える
1

データベースを正規化して、SQL クエリを介して直接検索を実行できるようにする必要があります。

于 2012-09-29T18:27:11.357 に答える