ブログ システムを作成しており、ブログ投稿に「タグ」を追加したいと考えています。これらはここに表示されているタグに似ており、同様の件名の投稿をグループ化するために使用できます。
タグをコンマで区切られた単語の文字列 (空白ではない文字列) としてデータベースに保存したいと考えています。しかし、タグ A とタグ B を含むすべての投稿を検索する方法がよくわかりません。
すべてのデータを取得して PHP ループでスキャンする小さなデータベースで動作する単純なソリューションは好きではありません。これは、大規模なデータベース (数千ではないにしても数百の投稿) では機能しないためです。これほど多くのブログ投稿を行うつもりはありませんが、データベースから正しい結果を直接取得することで、システムを安定させ、PHP スクリプトの作業時間を節約したいと考えています。
私のテーブルがこのように見えるとしましょう(実際にはもう少し複雑です)
blogposts:
id | title | content_html | tags
0 | "hello world" | "<em>hello world!</em>" | "hello,world,tag0"
1 | "bye world" | "<strong>bye world!</strong>" | "bye,world,tag1,tag2"
2 | "hello you" | "hello you! :>" | "hello,tag3,you"
"hello"
タグだけでなく、タグを含むすべての投稿を選択するにはどうすればよい"world"
ですか? 部分文字列を検索できる LIKE ステートメントについては知っていますが、複数の部分文字列で使用できますか?