รายละเอียดของการตอบ ::
มีแค่คำแนะนำนะครับ
แนวคิดก็ไม่มีอะไรซับซ้อนครับ โดยปกติเรามักจะคิดว่า จะต้อง query ให้เหมือนอย่างที่แสดงผล แต่ในความเป็นจริง การ query ให้เหมือนที่แสดงผลเลยนั้นค่อนข้างทำได้ยากครับ แต่เราก็มีวิธีเลี่ยงอื่น คือ query แล้วจัดเรียงข้อมูลให้เหมาะสมกับการนำไปใช้ต่อ ซึ่งวิธีนี้จะง่ายกว่า
หลักการง่ายๆคือใช้ แอเรย์นะครับ ถ้าเราจัดข้อมูลให้อยู่ในรูปนี้
$times['08:30'] = 10;
$times['09:00'] = 10;
$times['09:30'] = 10;
$times['10:00'] = 10;
08.30 คือเวลาของช่อง
10 คือ id_re
เราก็จะได้ข้อมูลที่สามารถนำไปวนลูป เพื่อสร้างตารางได้แล้ว
foreach(array('08:30','09:30'....'20:00') AS $time) {
if(isset($times[$time])) {
echo "<tr class="highlight"><td>$items[$time]</td></tr>"; // แสดงชื่อห้องที่จอง
}else{
echo "<tr><td> </td></tr>"; // ว่าง
}
}
เราสามารถกำหนด class ให้ รายการที่ถูกจองแสดงผลแตกต่างจากอันที่ว่างได้ ซึ่งถ้าจัด CSS ไม่ให้มีช่องว่าง มันก็จะเหมือนกับการ highlight เลยทีเดียว
ลองดูนะครับ....