PHP获取评论最多的文章并生成列表

本文将介绍如何使用SQL语句和PHP代码从文章表和评论表中获取评论最多的文章,并生成一个列表显示文章标题和评论数量。

SQL语句

SELECT a.id, a.title, COUNT(c.id) AS comment_count
FROM articles AS a
LEFT JOIN comments AS c ON a.id = c.aid
GROUP BY a.id
ORDER BY comment_count DESC

解释:

  1. 使用 LEFT JOIN 将文章表 articles 和评论表 comments 关联起来,关联条件是文章表的 id 等于评论表的 aid
  2. 使用 COUNT 函数统计每篇文章的评论数量,并将结果命名为 comment_count
  3. 使用 GROUP BY 将结果按照文章 id 分组。
  4. 使用 ORDER BY 将结果按照评论数量降序排列。

PHP代码

// 执行SQL语句,获取结果集
$result = $pdo->query($sql);

// 遍历结果集,输出列表
echo '<ul>';
foreach ($result as $row) {
    echo '<li>';
    echo '<a href="article.php?id=' . $row['id'] . '">' . $row['title'] . '</a>';
    echo '(评论数:' . $row['comment_count'] . ')';
    echo '</li>';
}
echo '</ul>';

说明:

  1. 使用 PDO 执行 SQL 语句,获取结果集。
  2. 遍历结果集,输出每篇文章的标题和评论数量,并将标题链接到文章详情页面。
  3. 列表使用无序列表 (<ul>) 来实现。

原文地址: https://www.cveoy.top/t/topic/nkC4 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录