akl
Новичок
Доброй ночи. В процессе создания новостного архива появились ошибки.
Функции, участвующие в выводе данных
Вывод информации:
Проблема: группировка годов происходит только в том случае, если совпадают месяцы новостей относящихся к этому году. В противном случае: год и месяц выводятся отдельно. Вот результат работы кода, приведенного выше
А вот, если убрать группировку по месяцам GROUP BY DATE_FORMAT(date,'%m')
А вот так, если вообще без группировки
Ткните носом в ошибку
Функции, участвующие в выводе данных
PHP:
public function postArchiv() {
$query = "SELECT DATE_FORMAT(date,'%Y') as 'year', DATE_FORMAT(date,'%m') as 'month' FROM news JOIN aurhor ON news.aurhor_id = aurhor.aurhor_id GROUP BY DATE_FORMAT(date,'%Y'),DATE_FORMAT(date,'%m')";
$result = mysql_query($query) or die('Error, query failed');
$archivs = array();
while ($row = mysql_fetch_assoc($result)) {
$archivs[] = $row;
}
return $archivs;
}
public function selectMonth($data) {
$month = array(
01 => 'Январь',
02 => 'Февраль',
03 => 'Март',
04 => 'Апрель',
05 => 'Май',
06 => 'Июнь',
07 => 'Июль',
08 => 'Август',
09 => 'Сентябрь',
10 => 'Октябрь',
11 => 'Ноябрь',
12 => 'Декабрь',
);
foreach ($month as $key => $value) {
if (in_array($key, $data)) {
echo $value . '<br>';
return $value;
}
}
}
PHP:
<?PHP foreach ($archivs as $archiv): ?>
<ul>
<li>
<?PHP echo $archiv['year'] ?>
<ul>
<li>
<?PHP $connect->selectMonth($archiv) ?>
</li>
</ul>
</li>
</ul>
<?PHP endforeach; ?>
PHP:
2011
Июнь
2012
Май
2012
Июнь
2012
Ноябрь
PHP:
2011
Июнь
2012
Июнь
PHP:
2012
Июнь
2012
Июнь
2012
Июнь
2012
Май
2011
Июнь
2011
Июнь
2012
Ноябрь