我正在尝试建立年份\月份归档。按年份和月份归档
它拒绝输出我想要的东西,所以我希望你们中的一个人可能会把我推向正确的方向。
我想在今年进行排序,并显示该月每一年(如果存在),并将其输出是这样的:
2012
- June
- August
2011
- July
我的代码是这样的:
$query = "SELECT * FROM article WHERE full_name ='$safe_name' group by year, month";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_assoc($result)) {
$year = $row['year'];
$month = $row['month'];
echo "<ul class='year'><li><a>{$year}</a>";
echo "<ul class='months'><li><a>{$month}</a></li></ul>
</li></ul>";
}
但它输出:
2012
- june
2012
- august
2011
- july
当我组仅在今年,它会输出:
2012
- june
2011
- july
我有一个“date_posted”行是datetime(yyyy-mm-dd 00:00:00)。 最重要的是,我有1行月和1年(我知道这是愚蠢的,但我无法弄清楚如何通过只使用“date_posted”行做到这一点。这个话题,但它没有这样做的伎俩,我 任何帮助是极大的赞赏
因为你想刚刚打印出来的每年一次,我可能会建议你将数据存储到一个数组,然后再输出,而阵列 – lusketeer 2012-08-02 15:40:25
在循环或者,只需将'$ year'和'$ month'的前一个值存储在变量中,并且只在它们更改时才打印出来;你可能还想在查询中做一个'SELECT DISTINCT year,month',这样你就可以获得唯一的值,并且只需要检索你正在查找的字段。 – andrewsi 2012-08-02 15:46:29