使用 PHP 计算年月存档中的内容 [英] Count content in years month archive using PHP
本文介绍了使用 PHP 计算年月存档中的内容的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要像这样打印每年/每月的新闻数量:
I need to print the count of news per year/month like this:
2013
- 10 月 (20) 日
- 11 月 (45)
- 九月 (80)
2014
- 一月 (5)
我有这个:
$sql = "SELECT YEAR(FROM_UNIXTIME(timestamp)) AS YEAR,
MONTHNAME(FROM_UNIXTIME(timestamp)) AS MONTH,
COUNT(*) AS TOTAL
FROM NEWS GROUP BY YEAR, MONTH";
$newsdata = DataAccess::ArrayFetch($sql);
foreach($newsdata AS $news){
//what???
}
现在,如何打印年份和月份?
Now, how do print years and months?
推荐答案
您在查询中对它们进行排序,然后按该顺序打印它们.您需要检测年份更改,以打印年份标题:
You sort them in the query, then you print them in that order. You'll need to detect year changes, to print the year header:
$sql = "SELECT YEAR(FROM_UNIXTIME(timestamp)) AS YEAR,
MONTHNAME(FROM_UNIXTIME(timestamp)) AS MONTH,
COUNT(*) AS TOTAL
FROM NEWS GROUP BY YEAR, MONTH ORDER BY YEAR DESC, MONTH ";
$newsdata = DataAccess::ArrayFetch($sql);
$currentYear = null;
foreach($newsdata AS $news){
if ($currentYear != $news['YEAR']){
echo '<h2>'.$news['YEAR'].'<h2>';
$currentYear = $news['YEAR'];
}
echo '<dd>'.$news['MONTH'].'<dd><dt>'.$news['TOTAL'].'</dt>';
}
这篇关于使用 PHP 计算年月存档中的内容的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文