當 join 進來的數據也是多個以上,如何顯示?

发布于 2022-09-07 16:12:21 字数 788 浏览 24 评论 0

SELECT
          t.name AS tname
        FROM `product` as p
        JOIN
          `product_theme` as pt ON pt.prod_id = p.prod_id
        JOIN
          `theme` as t ON t.theme_id = pt.theme_id

theme
clipboard.png

product_theme
clipboard.png

也就是說當 product 有幾個 theme 時
在 product_theme 的 prod_id 就會有幾筆(如圖)
現在有個問題是
因為我要顯示的 tname 是多筆的
但是這樣導致我沒辦法顯示多筆
我直接透過 while ($row...mysqli_fetch_array) $row['tname'] 顯示只會有一筆(prod_id 41的會有兩筆 theme)

clipboard.png

這樣我該怎麼顯示和改寫才對?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

温柔女人霸气范 2022-09-14 16:12:21

根据你的需求,可以用group_concat函数,按prod_id分组显示,SQL类似如下:

select proid_id,group_concat(t.name SEPARATOR ';') as tname from product as p ..... 结尾用 group by prod_id

这样出来的结果类似:

proid_id      tname
...
40            小松菜奈的世界
41            夏天最好暖暖包;小松菜奈的世界
...

这样程序中$orw['tname']获取的就是"夏天最好暖暖包;小松菜奈的世界",可以用explode函数分割为数组使用。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文