当前位置:Gxlcms > PHP教程 > 分页数据,一对多

分页数据,一对多

时间:2021-07-01 10:21:17 帮助过:2人阅读

两张表
表一:新闻表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

回复内容:

两张表
表一:新闻表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

下面这个可以实现:

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

人气教程排行