การดึงเวลาจากฐานข้อมูล มาแสดงในตารางเวลา..........???? HomeForumการดึงเวลาจากฐานข้อมูล มาแสดงในตารางเวลา..........???? baipan14 การดึงเวลาจากฐานข้อมูลมาแสดงในตาราง ตัวอย่างเช่นผมมีเวลาในตาราง 2 ฟิว คือ เริ่ม 08:31:00 สิ้นสุด 10:00:00 อยากให้มันโชวเหมือนในรูป ใครพอจะช่วยได้บ้างครับ php กรกฎ วิริยะ มีแค่คำแนะนำนะครับ แนวคิดก็ไม่มีอะไรซับซ้อนครับ โดยปกติเรามักจะคิดว่า จะต้อง 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>"; // ว่าง } } เราสามารถกำหนด clas ให้ รายการที่ถูกจองแสดงผลแตกต่างจากอันที่ว่างได้ ซึ่งถ้าจัด CSS ไม่ให้มีช่องว่าง มันก็จะเหมือนกับการ highlight เลยทีเดียว ลองดูนะครับ.... ความคิดเห็น รายละเอียด ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 2M ส่งความคิดเห็น
แนวคิดก็ไม่มีอะไรซับซ้อนครับ โดยปกติเรามักจะคิดว่า จะต้อง 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>"; // ว่าง
}
}
เราสามารถกำหนด clas ให้ รายการที่ถูกจองแสดงผลแตกต่างจากอันที่ว่างได้ ซึ่งถ้าจัด CSS ไม่ให้มีช่องว่าง มันก็จะเหมือนกับการ highlight เลยทีเดียว
ลองดูนะครับ....