PHP MySQL将GROUP_CONCAT结果视为单独的项目

I am making a music classification database using PHP and MySQL. I have three tables:

Song:

ID  | Title
------------------------
1   | Example Song

Genre:

ID  | Name
------------------------
1   | Classical
2   | Instrumental

SongGenre

SongID | GenreID
----------------
1      | 1
1      | 2

My Query is:

SELECT s.title, GROUP_CONCAT(DISTINCT g.name SEPARATOR ', ')
FROM song s    
LEFT JOIN songgenre sg ON s.id=sg.s_id
LEFT JOIN genre g ON sg.genreid = g.id

I'm using GROUP_CONCAT to allow for multiple genres as shown:

Title: "Example Song" Genres: Classical, Instrumental

I wish to generate a link in PHP for each genre, so that if the user clicks on "Classical" they are brought to more songs listed as Classical. The issue is, I am unsure how to give each genre its' own link. The issue with GROUP_CONCAT is that both genres are returned together in the same row, and I am unsure how to split the row apart to add a link to each separate genre.

查看全部
dongruolin5324
dongruolin5324
2015/03/25 00:00
  • group-concat
  • php
  • mysql
  • pdo
  • 点赞
  • 收藏
  • 回答
    私信
满意答案
查看全部

2个回复