请原谅我的英语。我创建了一个基于标签的网站,具有MVC架构和PHP。它工作正常。当用户单击标记时,查询会提供该标记的所有信息。例如,用户点击" PHP"标签,查询显示所有具有" PHP"标签。这是我的查询
public function get($Getlabel){
$tagLabel = $this->db->prepare("select `txtcenter`.`id`, `title`, `imagurl`, `writer`, `dttime`, `txtmain`, `counter`,
`tags`.`tag` as tagsshow
from `txtcenter`
INNER join `taglink` on `taglink`.`txtcenterid` = `txtcenter`.`id`
INNER join `tags` on `tags`.`id` = `taglink`.`tagid`
where `tags`.`tag` in (:Label)
");
$tagLabel->execute(array('Label' => $Getlabel));
return $tagLabel->fetchAll(PDO::FETCH_OBJ);
}
现在让我解释一下我的问题。我希望每篇文章都有所有标签也属于下面的编辑上面的查询。
答案 0 :(得分:0)
如果要在查询中返回文章标签列表,可以使用类似
的内容 select tbl.*,
GROUP_CONCAT(DISTINCT tags.tag SEPARATOR ',') As all_tags
from(
select `txtcenter`.`id`, `title`, `imagurl`, `writer`, `dttime`, `txtmain`, `counter`,
`tags`.`tag` as tagsshow, `taglink`.`tagid`
from `txtcenter`
INNER join `taglink` on `taglink`.`txtcenterid` = `txtcenter`.`id`
INNER join `tags` on `tags`.`id` = `taglink`.`tagid`
where `tags`.`tag` in (:Label)
) tbl
inner join tags
on tags.id=tbl.tagid
GROUP BY tbl.id
这个查询应该无法运行,因为我没有你的桌子。