PHP获取评论最多的文章并生成列表
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
解释:
- 使用
LEFT JOIN将文章表articles和评论表comments关联起来,关联条件是文章表的id等于评论表的aid。 - 使用
COUNT函数统计每篇文章的评论数量,并将结果命名为comment_count。 - 使用
GROUP BY将结果按照文章id分组。 - 使用
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>';
说明:
- 使用 PDO 执行 SQL 语句,获取结果集。
- 遍历结果集,输出每篇文章的标题和评论数量,并将标题链接到文章详情页面。
- 列表使用无序列表 (
<ul>) 来实现。
原文地址: https://www.cveoy.top/t/topic/nkC4 著作权归作者所有。请勿转载和采集!