我有一个小问题。我正在建立一个博客,它正在工作。现在,我想添加一个带有类别的菜单。我在同一数据库blog_posts
和blog_categories
中有2个表。在表blog_categories
中,有2行:id和name。 ID也位于blog_posts
表中。使用while循环将类别显示在页面上。但是我想在类别名称后显示该类别中的帖子数。
它看起来像这样:
Cat1:1
Cat2:4
Cat3:2
我该怎么做?
答案 0 :(得分:0)
表格:
blog_posts(id, title, catid, .... )
blog_categories(id, title, ... )
PDO:
$sql=$dbh->query("SELECT blog_categories.*, COUNT(blog_posts.CatID) AS count FROM blog_categories LEFT JOIN blog_posts ON blog_posts.CatID=blog_categories.ID GROUP BY blog_categories.ID ORDER BY count DESC");
while($row=$sql->fetch(PDO::FETCH_OBJ)) {
echo $row->title.':'.$count;
}
结果:
Cat 2: 5
Cat 1: 3
Cat 3: 1