【发布时间】:2016-02-25 12:45:40
【问题描述】:
我正在尝试归档新闻博客。 我想让它类似于THERE
此时我可以显示年、月和每个月的发帖数,但不能显示各个帖子的标题和slug。
我的数据库结构是一个包含这些行的表: id (int)、title(varchar)、slug(varchar)、created(timestamp)。
这里是代码:
$newsdata= $db->query("
SELECT
YEAR(created) AS YEAR,
MONTHNAME(created) AS MONTH,
title,
slug,
id,
COUNT(*) AS TOTAL
FROM pages
GROUP BY YEAR, MONTH
ORDER BY YEAR DESC, MONTH
")->fetchALL(PDO::FETCH_ASSOC);
$currentYear = null;
foreach($newsdata AS $news){
if ($currentYear != $news['YEAR']){
echo '<h2>'.$news['YEAR'].'<h2>';
$currentYear = $news['YEAR'];
}
echo '<p>' .$news['MONTH']. '</p><p>' .$news['TOTAL']. '</p>';
}
你可以看到结果HERE
我也知道有一篇有趣的帖子there 讲述了我的需求,但这并不能帮助我实现目标。
【问题讨论】:
-
因为,这里显示:matteocorona.com/lega/m_y.php,对于不同年份的每个月,相同的标题出现 4 次。我每个月只需要看一次不同的标题。我确定查询中有问题,我不知道是什么
-
如果您愿意,请考虑遵循以下简单的两步操作: 1. 如果您还没有这样做,请提供适当的 CREATE 和 INSERT 语句(和/或 sqlfiddle),以便我们可以更容易复制问题。 2. 如果您尚未这样做,请提供与步骤 1 中提供的信息相对应的所需结果集。
-
我认为没有必要为此创建一个小提琴。关于我需要达到的结果,我在问的问题中添加了一个精确的例子。如果你能帮助我,请告诉我。谢谢