php - 分页数据,一对多
天蓬老师
天蓬老师 2017-04-10 16:03:23
[PHP讨论组]

两张表
表一:新闻表news
表二:新闻图片表news_pic

news和news_pic的关系是一对多,

现在想展示新闻表的列表数据,但是要显示news_pic相对应的数据

news

ID Title 内容
1 20号新闻 内容1
2 21号新闻 内容2
3 22号新闻 内容3

news_pic

ID news_id url
1 1 http://xxx.com/xxxasd12.jpg
2 1 http://xxx.com/dadsqw1.jpg
3 3 http://xxx.com/sd112.jpg

希望得出结果

ID Title 内容 图片集
1 1 内容1 http://xxx.com/xxxasd12.jpg,http://xxx.com/dadsqw1.jpg
2 1 内容2 无图片
3 3 内容3 http://xxx.com/sd112.jpg
天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(2)
高洛峰

下面这个可以实现:

select n.id, n.title, n.content, GROUP_CONCAT(p.url) as pic 
    from news n 
    LEFT JOIN news_pic p 
    on n.id = p.news_id 
    GROUP BY p.news_id 
    order by n.id asc
PHP中文网

楼上回答的太好了,GROUP_CONCAT()函数最好用,

select iak.attr_key_id, iak.attr_name, GROUP_CONCAT(iav.attr_value) as val 
from item_attr_key iak 
LEFT JOIN item_attr_val iav 
on iak.attr_key_id = iav.attr_key_id
GROUP BY iav.attr_key_id 
order by iak.attr_key_id asc;

模仿了一下,正好查出来,attr_key_id 1,attr_name 型号,val 170,180,175。这下sku属性有救了。php强大,mysql也强大。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号