【发布时间】:2015-03-25 00:00:48
【问题描述】:
我正在使用 PHP 和 MySQL 制作音乐分类数据库。 我有三张桌子:
歌曲:
ID | Title
------------------------
1 | Example Song
类型:
ID | Name
------------------------
1 | Classical
2 | Instrumental
歌曲类型
SongID | GenreID
----------------
1 | 1
1 | 2
我的查询是:
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
我正在使用 GROUP_CONCAT 来支持多种类型,如图所示:
标题:“示例歌曲”流派:古典、器乐
我希望在 PHP 中为每个流派生成一个链接,这样如果用户点击“古典”,他们就会看到更多列为古典的歌曲。问题是,我不确定如何为每种类型提供自己的链接。 GROUP_CONCAT 的问题是两种类型在同一行中一起返回,我不确定如何拆分行以添加指向每个单独类型的链接。
【问题讨论】:
-
该链接将触发一个新查询,该查询将根据流派进行选择 - 我认为这就是您要问的
-
@Dagon 我知道如何实际创建查询,我的问题是如何将每种类型视为它自己的链接。我希望将每种流派作为其自己的单独链接,我不知道该怎么做。我将更新问题以使其更清楚。
-
<a href="search.php?genre=1">Classical</a> -
@Dagon 我的问题是 MySQL 返回 "Classical, Instrumental" 作为一行,我不知道如何实际将它们分开以添加 属性。
-
explode() 在逗号上,然后循环
标签: php mysql pdo group-concat