dongruolin5324 2015-03-25 00:00
浏览 59
已采纳

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.

  • 写回答

2条回答 默认 最新

  • du060334 2015-03-25 00:25
    关注

    a very basic example as requested by OP

    $var="Classical, Instrumental";
    
    $each=explode(', ',$var);
    
    foreach($each as $v){
    echo '<a href="search.php?genre='.$v.'">'.$v.'</a>';
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 Bibtex4Word 引用中文文献
  • ¥20 用opencv c/c++ 转换成灰度图,然后做一下直方图均衡,输出mp4文件
  • ¥20 matlab中的双层数值积分
  • ¥50 服务器打印水晶报表问题
  • ¥30 gradle环境下javafx项目如何使用druid连接池
  • ¥15 服务器打印水晶报表问题
  • ¥18 深度学习tensorflow1,ssdv1,coco数据集训练一个模型
  • ¥100 关于注册表摄像头和麦克风的问题
  • ¥30 代码本地运行正常,但是TOMCAT部署时闪退
  • ¥15 关于#python#的问题