帖子列表里面怎么查出标签
程序员文章站
2022-04-27 15:28:30
...
list和tag都是数据库里的数据,想要用mysql这样的查询语句查询出来,得到下面的查询结果,在不用foreach这样的php循环语句下得到结果
list => array(
array(id => 1, title => '这是title'),
array(id => 2, title => '这是title2'),
)//list_id和list里的id关联
tag => array(
array(id => 1, list_id = 1, name => 'tag1'),
array(id => 2, list_id = 1, name => 'tag2'),
array(id => 3, list_id = 2, name => 'tag3'),
);
这样的,该怎样查出
select => array(
array(
id => 1,
title => '这是title',
tag =>array(
array( id =1, name => 'tag1'),
array(id=2,name='tag2')
),
),
array(
id => 2,
title => '这是title2'
tag =>array(
array( id =3, name => 'tag3')
),
),
)
这样的数据?
PS:就像本站的列表是怎么显示的标签的?
回复内容:
list和tag都是数据库里的数据,想要用mysql这样的查询语句查询出来,得到下面的查询结果,在不用foreach这样的php循环语句下得到结果
list => array(
array(id => 1, title => '这是title'),
array(id => 2, title => '这是title2'),
)//list_id和list里的id关联
tag => array(
array(id => 1, list_id = 1, name => 'tag1'),
array(id => 2, list_id = 1, name => 'tag2'),
array(id => 3, list_id = 2, name => 'tag3'),
);
这样的,该怎样查出
select => array(
array(
id => 1,
title => '这是title',
tag =>array(
array( id =1, name => 'tag1'),
array(id=2,name='tag2')
),
),
array(
id => 2,
title => '这是title2'
tag =>array(
array( id =3, name => 'tag3')
),
),
)
这样的数据?
PS:就像本站的列表是怎么显示的标签的?
SELECT posts.id AS post_id, posts.title AS post_title, GROUP_CONCAT(tags.name AS tag_name)
FROM posts, tag_posts, tags
WHERE tag_posts.post_id = posts.id
AND tag_posts.tag_id = tags.id
GROUP BY post_title
额,突然明白过来你可能是在问MySQL的查询语句..好囧,好像这个需求能用JOIN
搞定?SELECT * FROM `list` LEFT JOIN `tag` ON list.id = tag.list_id
,这个试试?
$lists = array();
foreach($list as $item)
$lists[ $item['id'] ] = array('id'=>$item['id], 'title'=>$item['title']);
foreach($tag as $item) {
$lists[ $item['list_id'] ]['tag'][] = array('id'=>$item['id'], 'name'=>$item['name']);
/*为了得到你的问题中的效果,其实这步有点多余。*/
$lists = array_values($lists);
上一篇: PHP基础知识回顾
推荐阅读
-
一个帖子多个标签时,怎么存数据库比较好?取的时候怎么办?
-
dede里面怎么在自定义标签里面加隐藏控件?并且要获取value值
-
关于str_replace_once怎么只替换内容不替换里面alt标签
-
php怎么解析xml标签里面的内容?
-
在帖子里面发表回复以后 点击一下返回后回不到帖子列表页是怎么回事?
-
怎么在html制定标签ul中 引入 文件里面的html片段_html/css_WEB-ITnose
-
php匹配字符串的时候怎么样能不理img标签里面的内容
-
怎么在marquee标签里面设置一个关闭的图标_html/css_WEB-ITnose
-
android:怎么在Listview里面加载网络图片?或者在背景中加载网络图片?类似评论列表的头像等
-
mysql 多个表要怎么查出里面内容按最后更新时间排列