コミックサイトにSOスタイルのタグ付けシステムを実装しました。
各コミックには、1つまたは複数のタグを付けることができます。
私が現在設定している方法は次のとおりです。コミックテーブル、タグテーブル、およびリレーショナルコミックタグテーブルがあります。クエリは、一致するコミックIDとタグIDがあるかどうかを確認します...
$sql =
"SELECT c.*, t.*
FROM comics c
INNER JOIN comictags ct ON (c.id = ct.comicID)
INNER JOIN tags t ON (t.tagid = ct.tagID)
WHERE ct.tagID IN ('" . implode(', ', $_SESSION['tagids']). "')
". $catquery ." " . $order;
これに伴う問題は、コミックIDに新しいタグを追加するたびに、コミックタグテーブルに新しいエントリを追加する必要があることです。
このスキーマをさらに持つことは可能ですか?
comicid_1: tagid_1, tagid_2, tagid_3, etc...
つまり、コミックIDごとに1つのエントリを作成し、tagid
関連付けたいタグごとにフィールドにカンマ区切りのタグIDを追加します。
ありがとう!