การใช้งานแอเรย์ (Array) ของ PHP (ตอนที่ 3)
ลองมาดูเทคนิคการใช้งานแอเรย์ในการช่วยสรุปข้อมูล เพื่อหลีกเลี่ยงการคิวรี่ข้อมูลที่ซับซ้อนกันอีกรูปแบบหนึ่ง โดยใช้ข้อมูลเดิมในบทก่อนเลยครับ
ข้อมูลที่ query ออกมาจาก database จะมีรูปแบบตามข้อมูลด้านบน ซึ่งก็เหมือนกับตัวอย่างก่อน
จากตัวอย่างเราจะใช้เทคนิคแอเรย์หลายมิติในการจัดการกับข้อมูล
มี 4 ตอนนะครับ อ่านต่อตอนอืนๆที่ลิงค์ด้านล่าง
ห้อง 102 เข้าพักวันที่ 10
ห้อง 103 เข้าพักวันที่ 10
ห้อง 102 เข้าพักวันที่ 11
ห้อง 101 เข้าพักวันที่ 11
ห้อง 103 เข้าพักวันที่ 12
ห้อง 102 เข้าพักวันที่ 12
ห้อง 102 เข้าพักวันที่ 12
<?php
// สมมุติข้อมูลจาก database (ประมาณนี้)
$result = array();
$result[] = array('room' => 101, 'date' => 10);
$result[] = array('room' => 102, 'date' => 10);
$result[] = array('room' => 103, 'date' => 10);
$result[] = array('room' => 102, 'date' => 11);
$result[] = array('room' => 101, 'date' => 11);
$result[] = array('room' => 103, 'date' => 12);
$result[] = array('room' => 102, 'date' => 12);
?>
ข้อมูลที่ query ออกมาจาก database จะมีรูปแบบตามข้อมูลด้านบน ซึ่งก็เหมือนกับตัวอย่างก่อน
<?php
// วนลูปเพื่อสรุปข้อมูลว่าในวันที่ต่างๆ มีผู้เข้าพักกี่ห้อง ห้องใดบ้าง
$datas = array();
foreach ($result AS $items) {
// นับจำนวนผู้เข้าพักในวันที่ $items['date'];
$datas[$items['date']]['count']++;
// แอเรย์เก็บชื่อห้องพักในวันที่ $item['date']
$datas[$items['date']]['rooms'][] = $items['room'];
}
// สำหรับดูโครงสร้างของข้อมูล
print_r($datas);
// แสดงผลลัพท์;
foreach ($datas AS $date => $items) {;
echo "<p>วันที่ $date มีผู้เข้าพัก $items[count] ห้อง (".implode(',', $items['rooms']).")</p>";
};
?>
จากตัวอย่างเราจะใช้เทคนิคแอเรย์หลายมิติในการจัดการกับข้อมูล
- $datas[วันที่]['count'] สำหรับเก็บจำนวนห้องพักทั้งหมด และ
- $datas[วันที่]['rooms'] สำหรับเก็บหมายเลขห้อง ซึ่งเป็นแบบแอเรย์
- implode() ใช้สำหรับการรวมแอเรย์เป็น string
มี 4 ตอนนะครับ อ่านต่อตอนอืนๆที่ลิงค์ด้านล่าง