यदि आप अलग-अलग लेखों के नाम भी चाहते हैं तो आप ग्रुप बाय का उपयोग नहीं कर सकते। बस पूरी सूची प्राप्त करें और फिर वर्ष और महीने के अनुसार एक सरणी में समूहित करें।
$sql = "SELECT timestamp, your_id_column, your_title_column FROM `NEWS` ORDER BY timestamp DESC";
$newsdata = DataAccess::ArrayFetch($sql);
$nav = array();
foreach ( $newsdata as $news ) {
$year = date('Y', $news['timestamp']);
$month = date('F', $news['timestamp']);
$nav[$year][$month][$news['your_id_column']] = $news['your_title_column'];
}
जब आप परिणामी सरणी को पुनरावृत्त करते हैं तो आप कुल उत्पन्न करने के लिए प्रत्येक वर्ष/माह के समाचार आइटमों की गणना कर सकते हैं।
<ul>
<?php
foreach ( $nav as $k => $v ) {
?>
<li><?php echo $k ?>
<ul>
<?php
foreach ( $v as $k2 => $v2 ) {
?>
<li><?php echo $k2.' ('.sizeof($v2).')' ?>
<ul>
<?php
foreach ( $v2 as $k3 => $v3 ) {
?>
<li><?php echo $v3 ?></li>
<?php
}
?>
</ul>
</li>
<?php
}
?>
</ul>
</li>
<?php
}
?>
</ul>