Bunu yapmanın bir düzine yolu var, ama benim yaklaşımım muhtemelen şöyle olurdu (tam bir uygulama değil, tüm kaba kod parçacıkları)
İlk olarak, sorgu
Alıntı
select `name`
, month(`date`) as date_month
, year(`date`) as date_year
from [Table]
order by `date` desc
Ardından, verileri istenen mantıksal gruplar halinde düzenleyin
Alıntı
$templateData = array();
foreach ( $rows as $row )
{
$templateData[$row->date_year][$row->date_month][] = $row->name;
}
Alıntı
Daha sonra bir şablonda
<?php foreach ( $templateData as $year => $months ) : ?>
<?php foreach ( $months as $month => $names ) : ?>
<h2><?php echo $month, ' ', $year; ?></h2>
<ul>
<?php foreach ( $names as $name ) : ?>
<li><?php echo $name; ?></li>
<?php endforeach; ?>
</ul>
<?php endforeach; ?>
<?php endforeach; ?>
Mobilden bu kadar yazabildim ama fikir verir herhalde