如何获取属于文章的所有标签


How to get all tags belonging to the article?

请原谅我的英语。我创建了一个基于标签、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);
}

现在让我们来解释我的问题。我希望每篇文章的所有标签也都属于下面的编辑查询。

如果您想在查询中返回文章标签的列表,您可以使用类似于以下的东西

    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

这个查询应该可以工作——我没有运行它,因为我没有你的表。