現在xamppを使用し、entry と tagのテーブルをtag_mapに紐づけて
XAMPP上でSQL文を実行し下記の表示を行えています。
記事ID 記事タイトル 記事内容 タグ名
1 PHP記事 これはPHPに関する記事です。 PHP
2 C#記事 これはC#に関する記事です。 C#
3 PHP&MySQL記事 これはPHPとMySQLに関する記事です。 PHP,MySQL
4 雑記 これは雑記です。 NULL
上記の中間テーブルを自作サイト上に表示したいのですが、その方法を教えて頂きたいです。
PHPでサイトの制作を行っておりまり、テーブル単体の表示は行えています。
tag_mapテーブルも単体でなら表示は出来るのですが、紐付けの出来ていない数字のみの表示になってします。
entryテーブル
id title detail
1 PHP記事 これはPHPに関する記事です。
2 C#記事 これはC#に関する記事です。
3 PHP&MySQL記事 これはPHPとMySQLに関する記事です。
4 雑記 これは雑記です。
tagテーブル(タグのマスタ)
id name
1 Java
2 PHP
3 MySQL
4 JavaScript
5 C#
tag_mapテーブル(どの記事にどのタグが紐づいているかを繋ぐテーブル)
id entry_id tag_id (説明)
1 1 2 entry_id=1(PHP記事)に対してtag_id=2(PHP)のタグを紐づけ
2 2 5 entry_id=2(C#記事)に対してtag_id=5(C#)のタグを紐づけ
3 3 2 entry_id=3(PHP&MySQL記事)に対してtag_id=2(PHP)のタグを紐づけ
4 3 3 entry_id=3(PHP&MySQL記事)に対してtag_id=3(MySQL)のタグを紐づけ
sql
1SELECT 2 entry.id AS 記事ID, 3 entry.title AS 記事タイトル, 4 entry.detail AS 記事内容, 5 GROUP_CONCAT(tag.name SEPARATOR ',') AS タグ名 6 FROM 7 entry LEFT OUTER JOIN tag_map ON entry.id = tag_map.entry_id 8 LEFT OUTER JOIN tag ON tag.id = tag_map.tag_id 9 GROUP BY entry.id 10 ORDER BY entry.id; 11
あなたの回答
tips
プレビュー