|
|
|
ต้องการจะ Group แบบถ้าข้อมูลซ้ำจะให้โชว์แค่ 1 บรรทัดเท่านั้น มีแนวทางทำยังไงบ้างครับ |
|
|
|
|
|
|
|
ทำได้หลายวิธี
แต่ผมชอบท่านี้
loop->data ออกมาเป็น array (check->building, check->floor, แล้ว push->room เข้าไปใน floor)
จากนั้นก็ loop->render table
Code (PHP)
$data = array (
1 => array(6,
array(
1 => array('A', 'B', 'C'),
2 => array('D', 'E', 'F')
)
),
2 => array(8,
array(
1 => array('G', 'H'),
2 => array('I', 'J'),
3 => array('K', 'L')
)
)
);
echo '<table border="1">';
echo '<thead>';
echo '<tr>';
echo '<th>Building</th>';
echo '<th>Floor</th>';
echo '<th>Room</th>';
echo '<tr>';
echo '</thead>';
echo '<body>';
foreach ($data as $key => $value) {
echo '<tr>';
echo '<td rowspan="'.$value[0].'">'.$key.'</td>';
foreach ($value[1] as $floor => $room) {
echo '<td rowspan="'.count($room).'">'.$floor.'</td>';
$n = 0;
foreach ($room as $row) {
if ($n > 0) {
echo '<tr>';
}
echo '<td>'.$row.'</td></tr>';
++$n;
}
}
echo '</tr>';
}
echo '</tbody>';
echo '</table>';
แค่แนวทางนะ
มีเวลาน้อย
ท่านอื่นอาจจะเขียนกระชับกว่านี้
|
|
|
|
|
Date :
2021-10-26 11:23:33 |
By :
Guest |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|