Подсчитать содержание в архиве месяцев в месяц с использованием PHP

Мне нужно печатать количество новостей в год / месяц следующим образом:

2013

  • Octobr (20)
  • Ноябрь (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??? } 

Теперь, как печатать годы и месяцы?

Solutions Collecting From Web of "Подсчитать содержание в архиве месяцев в месяц с использованием PHP"

Вы сортируете их в запросе, затем печатаете их в указанном порядке. Вам нужно будет определить изменения года, чтобы напечатать заголовок года:

 $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>'; }