สอบถามเรื่องทำระบบจองห้องพัก เช็คการจองซ้ำ ในการเก็บวันที่ ที่อยู่ระหว่าง check in กับ check out ลงฐานข้อมูลยังไงอะค่ะ
ก็เก็บแค่ CheckIn และ CheckOut ก็พอแล้วครับ
Date :
2011-05-13 06:30:42
By :
webmaster
รบกวนถามต่ออีกนิดค่ะ
แล้วสมมติ ว่า มีคนมาจองวันที่ 2011-05-16 เราจะเอาเช็คยังไง ว่าวันนี้มีคนเข้ามาจองแล้ว อะค่ะ
ขอบคุณค่ะ
Date :
2011-05-13 09:08:39
By :
kwangz_07
ขอบคุณค่ะ กะลังหัดทำค่ะ
Date :
2011-05-13 11:18:58
By :
kwangz_07
ขอบคุณมากเลยค่ะ
หลังจากทำๆ แก้ๆ มาหลายวัน
Date :
2011-06-30 13:58:51
By :
อยากขอบคุณ
ขอบคุณมากๆ ค่ะ ช่วยได้มากจริงๆ ติดมากหลายวันแล้ว
Date :
2011-08-08 23:55:44
By :
fiwiw
ขอสอบถามหน่อยนะค่ะ เพิ่งหัดเขียน web ภาษา jsp อะคะ
ลองฝึกทำเว็บเกี่ยวกับจองสนามฟุตบอลอะคะ
เวลาจองแล้วจะเช็คยังไงว่าในวันที่นี้ เวลานี้ มีคนจองไปแล้ว
ไม่ให้สามารถจองได้อีกอะคะ ต้องทำยังไง ฐานข้อมูลต้องเก็บอะไรบ้างค่ะ
รบกวนช่วยหน่อยนะค่ะ ^^
Date :
2011-09-19 11:47:06
By :
ละอองฝุ่น
Code (JavaScript)
<script type="text/javascript">
$(function () {
$('#txt_dateborrow, #txt_datereturn').datepicker(
{
//showOn: "both",
beforeShow: customRange,
dateFormat: "yy-mm-dd",
firstDay: 1,
changeFirstDay: false
});
});
function customRange(input)
{
return {
minDate: (input.id == "txt_dateborrow" ? new Date(2008, 12 - 1, 1) : null),
minDate: (input.id == "txt_datereturn" ? $("#txt_dateborrow").datepicker("getDate") :
null),
maxDate: (input.id == "txt_dateborrow" ? $("#txt_datereturn").datepicker("getDate") :
null) }; } </script>
//กำหนดให้ txt_dateborrow เป็นช่องแรก
//txt_datereturn เป็นช่องที่สอง และต้องการให้ช่องแรกเริ่มต้นด้วยวันปัจจุบัน เมื่อคลิกวันที่ในช่องแรก
//แล้วสามารถที่จะเอาค่าวันในช่องแรกที่ได้ มาเป็นค่า mindate ในช่องที่สอง และในช่องที่สองก็มีระยะเวลา
//ให้เลือกแค่ 10 วันเท่านั้น ช่วยด้วยนะคะ ขอบคุณมาก ด๋วนจริงๆ ต้องสอบฟรีเซ้นระบบ อีก5วันแล้ว
Date :
2011-10-21 11:35:26
By :
fiwiw
SELECT * FROM table booking WHERE (StartDate BETWEEN '2011-05-17' and '2011-05-20') OR (EndDate BETWEEN '2011-05-17' and '2011-05-20') บ
นี่เป็นโค้ด สำหรับหาห้องไม่ว่างใช่มั้ย ครับ
Date :
2011-12-02 20:37:16
By :
toon024
จากข้อมูลข้างต้น
$check_in= "2011-05-15";
$chec_out = "2011-05-17";
แล้วถ้ามี่คนจองวันที่ 2011-05-17 ซึ่งดป็นวัน chec_out จากที่พี่วินให้ตัวอย่างมามันจะถือว่าวันดังกล่าวมีคนจองแล้ว ซึ่งจริงๆแล้ววันนี้้เป็นวันที่แขกเดิม chec_out ไปแล้วแปลว่าวันนี้ว่าง มีวิธีตรวจสอบยังไงให้วันนี้เป็นวันว่างครับ
เช่น
$check_in= "2011-05-15";
$chec_out = "2011-05-17";
ถ้าจองวันที่ 2011-05-16ถึง2011-05-18 จากโค๊ดของพี่วิน SELECT * FROM table booking WHERE (StartDate BETWEEN '2011-05-17' and '2011-05-20') OR (EndDate BETWEEN '2011-05-17' and '2011-05-20')
มันจะฟ้องว่าวันที่ 16กับ17 จองแล้วใช่ไหมครับ แล้วถ้ามีคนจองวันที่ 2011-05-17 ถึง 2011-05-18
จะทำยังให้วันที่ 2011-05-17 สามารถจองได้หรือไม่ฟ้องว่าถูกจองไปแล้วครับ
รบกวนพี่วินตอบหน่อยน๊ะครับ ผมติดตรงนี้จริงๆ
ขอบคุณครับ
Date :
2012-10-27 09:47:02
By :
dome_P
แนะนำให้เพิ่มเติมเรื่องเวลาการจองเข้าไปด้วยครับ
Date :
2013-12-11 10:24:21
By :
MAXER
ผมเจอเหมือนกันครับคือเริ่มจอง 2014-01-01 8:30 - 2014-01-01 11:00 พอมีอีกคนมาจองวันเดียวกันเวลาต่างกันแต่เวลาดันไปอยู่ในช่วงที่จองเช่น 2014-01-01 9:30 - 2014-01-01 10:00 แล้วไม่ทราบว่าแก้ยังไงครับเพราะผมลองทำตามในกระทู้นี้แล้วแต่ดันพบว่าProgramดันสามารถจองได้
Date :
2014-02-04 02:18:20
By :
youTT001
อ่าถ้ามีวันจองในฐานข้อมูลอยู่ในระบบ เป็น
chkin 2018-11-24
chkout 2018-11-27
ตอนค้นหาเป็น
chkin 2018-11-25
chkout 2018-11-26
สิ่งที่ได้คือ ระหว่าง 24 - 27 มันติดจองแล้วแต่ตอนค้นหา 25-26 มันบอกว่าว่าง
ในความเป็นจริง ถ้าจอง 24 - 27 ก็หมายถึง จอง 24 25 26 ออก 27 มันก็จะต้องเป็น
วันที่ 27 ว่างสามารถจองได้ ส่วน 24-26 ต้องไม่ว่าง
จะทำยังไงให้มันไม่มีช่องโหว่แบบนี้อ่ะครับต้องเพิ่มเติมยังไง
Date :
2018-11-24 07:23:53
By :
gmz
ก่อนที่จะไปขั้นเขียนโปรแกรม ลองเขียน อัลกอลิธึม (เหตุการณ์ที่จะเกิด) ก่อนไหมครับ
โค๊ดจะเขียนออกมาได้ต้องรู้เหตุการณ์ต่างๆก่อน
ถ้าวันที่เริ่มต้นของวันที่จองในเรคคอร์ด อยู่ระหว่างวันที่ต้องการ = วันที่ที่ต้องการทับซ้อนจองแล้ว
ถ้าวันที่สุดท้ายของวันที่จองในเรคคอร์ด อยู่ระหว่างวันที่ต้องการ = วันที่ที่ต้องการทับซ้อนจองแล้ว
ถ้าวันที่เริ่มต้นของวันที่จอง อยู่ระหว่างวันจองในเรคคอร์ด = วันที่ที่ต้องการทับซ้อนจองแล้ว
ถ้าวันที่สุดท้่ายของวันที่จอง อยู่ระหว่างวันจองในเรคคอร์ด = วันที่ที่ต้องการทับซ้อนจองแล้ว
เขียนโค๊ดให้ครอบคลุม ตาม อัลกอฯ ที่บอก รับรองครอบคลุม
ประวัติการแก้ไข 2018-11-25 11:55:12
Date :
2018-11-24 11:00:48
By :
Chaidhanan
Load balance : Server 05