Как вывести таблицу по годам и месяцам?

Есть данные в табличке мускул, сгруппированные по году и месяцу.
snag.gy/Wln9S.jpg

Я в цикле загоняю эти данные в массив
$array[$row['yyear']][$row['mmonth']] = $row;

Под конец дня не могу сообразить, как правильно вывести эти данные в таблице, чтобы год был столбиком, а месяц строкой? А в соответствующей ячейке должны быть "wp", "s" и "c"
  • Вопрос задан
  • 2512 просмотров
Решения вопроса 1
@m-haritonov
<?php
$array[2001][1] = array('wp' => 1, 's' => 2, 'c' => 3);
$array[2001][2] = array('wp' => 4, 's' => 5, 'c' => 6);
$array[2001][3] = array('wp' => 7, 's' => 8, 'c' => 9);
$array[2002][1] = array('wp' => 10, 's' => 11, 'c' => 12);
$array[2002][2] = array('wp' => 13, 's' => 14, 'c' => 15);
$array[2002][4] = array('wp' => 16, 's' => 17, 'c' => 18);
?>
<table border="1">
	<tr>
		<th></th>
		<?php foreach ($array as $year => $months): ?>
			<th><?=htmlspecialchars($year)?></th>
		<?php endforeach; ?>
	</tr>
	
	<?php for ($monthNumber = 1; $monthNumber <= 12; $monthNumber++): ?>
		<tr>
			<th><?=htmlspecialchars($monthNumber)?></th>
			<?php foreach ($array as $months): ?>
				<?php if (isset($months[$monthNumber])): ?>
					<td>wp: <?=htmlspecialchars($months[$monthNumber]['wp'])?>, s: <?=htmlspecialchars($months[$monthNumber]['s'])?>, c: <?=htmlspecialchars($months[$monthNumber]['c'])?></td>
				<?php else: ?>
					<td></td>
				<?php endif; ?>
			<?php endforeach; ?>
		</tr>
	<?php endfor; ?>
</table>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы