ตรวจสอบวันเวลา
ผมมีฟอร์มที่ให้เลือกวันเวลาจากปฏิทิน คือ text box ชื่อ date1 กับ date2 ซึ่งจะเก็บในรูปวันที่และเวลา 24 ชั่วโมงกับนาที่
ผมต้องการตรวจสอบว่าถ้ากำหนดวันที่ date2 น้อยกว่า date1 ให้กลับแก้ไขโดยมีโค๊ดดังนี้ครับ
$date1 = date("Y-m-d G:i");// 2008-10-28 14:58
$date2 = date("Y-m-d G:i");//2008-10-10 12:30
$ndate1 = mktime($date1);
$ndate2 = mktime($date2);
if($ndate2 <= $ndate1){
echo "<script language='javascript'>" ;
echo "alert('ช่วงเวลาสิ้นสุดไม่ถูกต้อง กลับไปแก้ไขด้วยครับ')" ;
echo "</script>" ;
echo "<script language='javascript'>javascript:history.back()</script>";
exit();
}
ตอนนี้มันฟ้อง เวลาสิ้นสุดไม่ถูกต้องอย่างเดียวครับ แม้จะลองให้
date1 = 2008-10-28 14:50
date2 = 2008-10-31 10:00
ช่วยดูโค๊ดหน่อยครับว่าจะตรวจสอบอย่างไร
ผมไม่ได้เขียนแบบตรงๆให้นะครับ ให้ประยุกต์เอาเล็กน้อย เนื่องจากผมเห็นว่า ตัวอย่างแบบนี้จะนำไปประยุกต์ใช้ได้มากกว่าhttp://www.goragod.com/knowledge-การเปรียบเทียบวันที่ต่างกันด้วย%20javascript.html
ส่วนถ้าเป็นการตรวจด้วย PHP มีตัวอย่างอยู่แล้วบนเว็บครับ ลองค้นหาดู
แก้ไขได้แล้วครับ แต่เจอปัญหาใหม่
ผมทำระบบจองรถครับ และผมเก็บวันที่และเวลาในฐานข้อมูลดังนี้
StartDate เก็บเป็น 2008-10-28 18:00:00
EndDate เก็บเป็น 2008-10-31 06:00:00
คราวนี้จะ insert ข้อมูลใหม่ที่รับค่าจากฟอร์ม
date1 เก็บลง StartDate และ date2 เก็บลง EndDate แต่ค่าของ date1 กับ date2 มีลักษณะเป็น 2008-10-28 18:00
กำหนดให้
StartDate =2008-10-28 18:00:00
EndDate = 2008-10-31 06:00:00
คำถามคือ
1.ถ้าเป็นการจองวันนี้และเป็นรถคันเดียวในช่วงเวลา
date1=2008-10-28 19:00
date2=2008-10-28 23:00
มันจะต้องจองไม่ได้ เพราะรถคันไม่ว่าง เนื่องจากถูกใช้อยู่ จะตรวจสอบอย่างไร
2. มีหลักการอันไหมครับ นอกจากการตรวจสอบแบบนี้ หรือจะกำหนดให้จองเฉพาะช่วงที่ว่างเท่านั้น
3. ฐานข้อมูลที่เก็บวันเวลาที่จะมาตรวจสอบควรเก็บแบบ field เดียวคือ DATETIME หรือเป็น 2 field คือ DATE และ TIME
4. พอจะหาโค๊ดตัวอย่างระบบจองได้ที่ไหนบ้างครับ
รบกวนอาจารย์ด้วยครับ ผมเคยสอบถามเรื่องนี้ตั้งแต่เว็บเก่าของอาจารย์ ตอนนี้ผมต้องทำจริงๆ แล้วครับเพราะเป็นโปรเจ็คจบครับ
ตอบข้อ 3 ก่อน ไม่จำเป็นครับ เนื่องจากเวลาตรวจ ต้องใช้ทั้งวันและเวลพร้อมกัน
ตอบข้อ 1 และ 2 รวมกัน ผมก็ไม่เคยทำนะ แต่ตามแนวคิดผม
1.บันทึกวันเวลาที่จอง
2.กำหนดเวลา หมดการจอง สำหรับกรณีที่จองแล้วไม่มารับรถ
3.การจองให้ตรวจ ตามข้อ 1 และ 2 รวมกัน คือ มีคนจองหรือไม่ ถ้ามี หมดเวลาหรือเปล่า
4.นอกเหนือจากนี้ให้จองได้
ส่วนข้อ 4 เนื่องจากยังไม่เคยทำก็เลยไม่เคยเห็นครับ แต่คิดว่าน่าจะหายาก เนื่องจากเฉพาะทางเกินไป ที่เคยเห็นก็มีแต่ ระบบจองห้องพัก
ผมมีโปรเจ็คทำระบบจองรถตอนจบไม่รู้ว่าเหมือนกันหรือเปล่าแต่ไม่ค่อยสวยนะ