อยากได้แนวคิดการ วน แสดงตารางของตารางจองห้องเรียน
อยากได้แนวคิดการ วน แสดงตารางของตารางจองห้องเรียน
ผมได้ทำระบบกรจองห้องเรียน ห้องประชุมอยู่ครับละทีนี้การจองสามารถเลือกเวลาโดยกำหนดในลิสบล็อก คือสมมติเลือกจอง
เวลาเริ่มต้อง 08.00 ถึง 12.00 ในห้องเรียนชื่อ A1032
เมื่อเก็บข้อมูลลงฐานข้อมูลไม่รู้จะเอามาเปรียบเทียบอย่างไรครับว่าเวลา 08.00-12.00 ในห้องเรียน ชื่อว่า A1032 ได้มีคนจองแล้ว (ถ้ามีคนจองก็จะมีแถบสีในตารางในห้องนั้นๆ ครับ เช่น ถ้ามีคนจองแล้วแต่ยังไม่ได้อนุมัติจากเจ้าหน้าที่ก็จะเป็นสีเหลือง ถ้าอนุมัติแล้วก็จะเป็นสีเขียว)
ตารางเป็นลักษณะนี้ครับ
ผมได้ทำระบบกรจองห้องเรียน ห้องประชุมอยู่ครับละทีนี้การจองสามารถเลือกเวลาโดยกำหนดในลิสบล็อก คือสมมติเลือกจอง
เวลาเริ่มต้อง 08.00 ถึง 12.00 ในห้องเรียนชื่อ A1032
เมื่อเก็บข้อมูลลงฐานข้อมูลไม่รู้จะเอามาเปรียบเทียบอย่างไรครับว่าเวลา 08.00-12.00 ในห้องเรียน ชื่อว่า A1032 ได้มีคนจองแล้ว (ถ้ามีคนจองก็จะมีแถบสีในตารางในห้องนั้นๆ ครับ เช่น ถ้ามีคนจองแล้วแต่ยังไม่ได้อนุมัติจากเจ้าหน้าที่ก็จะเป็นสีเหลือง ถ้าอนุมัติแล้วก็จะเป็นสีเขียว)
ตารางเป็นลักษณะนี้ครับ
C----------------------------D
แนวคิดในการตรวจสอบคาบเวลาในการถูกจองก็คือ
1. เวลา C > A และ C < B
2. เวลา B > C และ B < D
เมื่อ A-B เป็นเวลาที่ถูกจองแล้วบนฐานข้อมูล และ C-D เป็นช่วงเวลาที่ต้องการ ถ้าข้อใดข้อหนึ่งในทั้ง 2 ข้อเป็นจริงแสดงว่าคาบเวลานั้นๆไม่สามารถใช้งานได้
ครับ ขอบคุณครับ เดี๋ยวลองทำดูก่อนนะครับ
พอมีตัวอย่างให้ดูบ้างมัยครับ
มีครับ แต่คิดว่าเห็นตัวอย่างแล้วจะงงหนักกว่าเก่าอีก เพราะฐานข้อมูลของแต่ละคนอาจไม่เหมือนกัน และผมมักเขียนคำสั่งวับซ้อนกว่าปกติ ดังนั้น เอาแนวคิดไปแหละดีครับ แล้วก็ปรับให้เข้ากับโค้ดของตัวเอง
ลองทำความเข้าใจกับสิ่งที่ผมเขียนให้ดีๆครับจะพบว่ามันไม่ยากเลย
$where = "H.`adult`>='".($noOfAdults / $noOfRooms)."' AND
`room_count`-(SELECT COALESCE(SUM(`noOfRooms`),0)
FROM `".DB_HOTEL_BOOKING."`
WHERE `room_id`=H.`id` AND `status`>0 AND
`checkIn`>='$checkIn' AND `checkIn`<='$checkOut' AND
'$checkOut'>=`checkIn` AND '$checkOut'<=`checkOut`
)>='$noOfRooms'";
// query
$sql = "SELECT H.*
FROM `".DB_HOTEL."` AS H
WHERE $where
ORDER BY H.`id` DESC
LIMIT $start,".$config['hotel']['list_per_page'];
ไม่รู้จะดูรู้เรื่องรึเปล่า นี่คือตัวอย่างใช้จริง http://www.men-message.com