Dynamic Group Table
Arkadaşlar aşağıdaki gibi bir array'ım var.
Haftalık toplam rezervasyonları gösteren şöyle bir tablo yapmak istiyorum ama bir türlü beceremedim.
PHP ile bunu nasıl yaparım, bu konuda bana yardımcı olurmusunuz ?
Hafta | 82981 | 82982 | 82983 | 82984 | 82985 |
---|---|---|---|---|---|
42 | 0 | 0 | 0 | 1 | 0 |
43 | 0 | 2 | 1 | 0 | 1 |
44 | 2 | 0 | 0 | 0 | 0 |
45 | 1 | 0 | 0 | 0 | 1 |
. | . | . | . | . | . |
array (
42 =>
array (
82984 =>
array (
0 =>
array (
'rentable_identity' => '82984',
),
),
),
43 =>
array (
82983 =>
array (
0 =>
array (
'rentable_identity' => '82983',
),
),
82985 =>
array (
0 =>
array (
'rentable_identity' => '82985',
),
),
82982 =>
array (
0 =>
array (
'rentable_identity' => '82982',
),
1 =>
array (
'rentable_identity' => '82982',
),
),
),
44 =>
array (
82981 =>
array (
0 =>
array (
'rentable_identity' => '82981',
),
1 =>
array (
'rentable_identity' => '82981',
),
),
),
45 =>
array (
82981 =>
array (
0 =>
array (
'rentable_identity' => '82981',
),
),
82985 =>
array (
0 =>
array (
'rentable_identity' => '82985',
),
),
),
46 =>
array (
82984 =>
array (
0 =>
array (
'rentable_identity' => '82984',
),
),
82983 =>
array (
0 =>
array (
'rentable_identity' => '82983',
),
),
82981 =>
array (
0 =>
array (
'rentable_identity' => '82981',
),
),
),
47 =>
array (
82981 =>
array (
0 =>
array (
'rentable_identity' => '82981',
),
),
),
48 =>
array (
82985 =>
array (
0 =>
array (
'rentable_identity' => '82985',
),
),
82982 =>
array (
0 =>
array (
'rentable_identity' => '82982',
),
),
82984 =>
array (
0 =>
array (
'rentable_identity' => '82984',
),
),
),
49 =>
array (
82983 =>
array (
0 =>
array (
'rentable_identity' => '82983',
),
1 =>
array (
'rentable_identity' => '82983',
),
),
82981 =>
array (
0 =>
array (
'rentable_identity' => '82981',
),
),
82982 =>
array (
0 =>
array (
'rentable_identity' => '82982',
),
),
82985 =>
array (
0 =>
array (
'rentable_identity' => '82985',
),
),
82984 =>
array (
0 =>
array (
'rentable_identity' => '82984',
),
),
),
50 =>
array (
82981 =>
array (
0 =>
array (
'rentable_identity' => '82981',
),
),
82985 =>
array (
0 =>
array (
'rentable_identity' => '82985',
),
),
),
51 =>
array (
82982 =>
array (
0 =>
array (
'rentable_identity' => '82982',
),
),
),
) bool(true)
<table>
<thead>
<tr>
<th>Hafta</th>
<th>82981</th>
<th>82982</th>
<th>82983</th>
<th>82984</th>
<th>82985</th>
</tr>
</thead>
<tbody>
<?php
$rez = [
43 => [
82983 => [
[
'rentable_identity' => '82983'
]
],
82985 => [
[
'rentable_identity' => '82985'
]
],
82982 => [
[
'rentable_identity' => '82982'
],
[
'rentable_identity' => '82982'
]
]
],
44 => [
82983 => [
[
'rentable_identity' => '82983'
]
],
82985 => [
[
'rentable_identity' => '82985'
]
],
82982 => [
[
'rentable_identity' => '82982'
],
[
'rentable_identity' => '82982'
]
],
82981 => [
[
'rentable_identity' => '82982'
],
[
'rentable_identity' => '82982'
],
[
'rentable_identity' => '82982'
]
]
]
];
// Boş odalar listeye eklenmemiş o yüzden sütunların eşleşmesi için aşağıdaki gibi bir diziye ihtiyaç var.
$cols = [
82981, 82982, 82983, 82984, 82985
];
foreach ($rez as $key => $value) {
?>
<tr>
<td><?=$key; ?></td>
<?php
foreach($cols as $room) {
$roomCount = isset($value[$room]) ? count($value[$room]): 0;
?>
<td><?=$roomCount; ?></td>
<?php
}
?>
</tr>
<?php
}
?>
</tbody>
</table>