Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > สามารถตรวจเช็คคาบเวลาได้อย่างไรบ้างครับ(เกี่ยวกับการจอง ห้ามจองทับวัน) รบกวนเข้ามาอ่านรายละเอียดข้างในครับ บน topic มันยาวไป



 

สามารถตรวจเช็คคาบเวลาได้อย่างไรบ้างครับ(เกี่ยวกับการจอง ห้ามจองทับวัน) รบกวนเข้ามาอ่านรายละเอียดข้างในครับ บน topic มันยาวไป

 



Topic : 134824



โพสกระทู้ ( 41 )
บทความ ( 0 )



สถานะออฟไลน์




พอดีกำลังพัฒนาโปรเจคร้านรับฝากรถ หรือลานสำหรับจอดรถ
เดิมๆ ผมเขียนระบบว่าเมื่อมีการจอง ช่องจอดนั้นจะไม่สามารถจองได้อีกต่อไป จนกว่าจะครบวันที่กำหนด
ผมเลยนึกได้ว่าใน 1 เดือน มี 30 วัน ถ้า user มาจองเอาวันที่ 29-30 อีก 28 วันที่เหลือ admin ก็จะขาดทุนทันที
เพราะระบบจะปิดการจองในช่องจอดนั้นไปเลย

เข้าเรื่องเลยครับ
ผมต้องตรวจเช็คอย่างไร ให้วันที่ไม่ทับกัน เช่น

ตาราง : การจอง
+-------------+------------+----------------+---------------+
| id การจอง | id คนจอง |...วันเช็คอิน...| วันเช็คเอาท์ |
+-------------+------------+----------------+---------------+
|....xxxxx....|.....xxxx....| 12/01/2020 | 15/01/2020 |
+--------------+-----------+----------------+---------------+

มีคนมาจองในช่วงวันที่ 12 - 15 ตามในตาราง
ทีนี้ พอจะมีคนจะมาจองในวันที่ 10 - 13
ให้ระบบตรวจตรวจเช็ค แล้วแจ้งว่า "จองไม่ได้ มีคนจองแล้ว"
ที่จองไม่ได้เพราะมันทับช่วง 12-15 อะครับ

ประมาณนี้ครับ หากสับสนในคำถาม ขออภัยด้วยครับ
และขอบคุณล่วงหน้าครับ

**แก้ไข(หัวข้อ)ล่าสุดตามคอมเม้นคุณ Chaidhanan ครับ



Tag : PHP, Ajax, jQuery









ประวัติการแก้ไข
2020-01-30 18:04:54
2020-01-30 18:07:32
2020-01-30 20:45:44
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2020-01-30 18:00:35 By : jameslufz View : 725 Reply : 12
 

 

No. 1



โพสกระทู้ ( 9,587 )
บทความ ( 2 )



สถานะออฟไลน์


"สามารถตรวจเช็คคาบเวลาได้อย่างไรบ้างครับ(เกี่ยวกับการจอง ห้ามจองทับวัน) รายละเอียดมาอ่านข้างในครับ บน topic มันยาวไป"

อันนี้เป็ยโปรยหัวเรื่องของคนที่ต้องการความช่วยเหลือเหรอครับ แบบข้างล่างจะดีกว่าไหม

สามารถตรวจเช็คคาบเวลาได้อย่างไรบ้างครับ(เกี่ยวกับการจอง ห้ามจองทับวัน) รบกวนอ่านรายละเอียดข้างในครับ บน topic มันยาวไป

เกิดเป็นคนไทยควรรู้จักใช้ภาษาไทยให้มันดีกว่านี้นะครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-01-30 19:09:14 By : Chaidhanan
 


 

No. 2



โพสกระทู้ ( 41 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : Chaidhanan เมื่อวันที่ 2020-01-30 19:09:14
รายละเอียดของการตอบ ::
ขออภัยด้วยครับ ถ้าที่พิมพ์สื่อความหมายไปในแง่ลบ ต้องขอโทษจริงๆครับ ไม่ได้มีเจตนาไม่ดีแบบนั้นเลย

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-01-30 20:43:14 By : jameslufz
 

 

No. 3



โพสกระทู้ ( 41 )
บทความ ( 0 )



สถานะออฟไลน์


สำหรับเรื่อง topic กระทู้ต้องขออภัยอย่างสูงครับ

ส่วนเรื่องเนื้อหา พอมีใครทราบไหมครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-01-30 20:46:44 By : jameslufz
 


 

No. 5



โพสกระทู้ ( 4,169 )
บทความ ( 7 )

Hall of Fame 2012

สถานะออฟไลน์


ตอนนี้คุณออกแบบ database ยังไม่ตอบสนองความต้องการที่เป็นจริง ลองคิดดีๆคุณขาดอะไรไป

หลังจากนั้น ถ้าหาคำตอบได้
- ไปหาความหมายของ WHERE NOT IN ก่อนมันคืออะไร
- ไปหาความหมายของ Between
ถ้าเข้าใจความหมาย 2 ตัวนี้ นำมา Dev เข้าด้วยกันแล้วจะแสดงผล

หรือ

ถ้าไม่ใช้ Between ใช้ > หรือ < ก็สามารถทำได้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-01-30 21:21:37 By : Genesis™
 


 

No. 6



โพสกระทู้ ( 41 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 5 เขียนโดย : Genesis™ เมื่อวันที่ 2020-01-30 21:21:37
รายละเอียดของการตอบ ::
ขอบคุณมากๆครับ ถ้ามีอะไรแนะนำเพิ่มเติม ขอช่วยแนะผมด้วย ผมมือใหม่ เรื่อง database กับ sql ยังไม่ค่อยแข็ง
เดี๋ยวจะไปศึกษาเรื่องที่คุณ Genesis™ แนะนำมาก่อน ถ้ายังไม่ได้จริงๆ เดี๋ยวกลับมาใหม่



ประวัติการแก้ไข
2020-01-30 21:26:21
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-01-30 21:25:08 By : jameslufz
 


 

No. 7



โพสกระทู้ ( 4,169 )
บทความ ( 7 )

Hall of Fame 2012

สถานะออฟไลน์


ตอบความคิดเห็นที่ : 6 เขียนโดย : jameslufz เมื่อวันที่ 2020-01-30 21:25:08
รายละเอียดของการตอบ ::
เขียนโปรแกรม อย่าคิดจาก 0-9 บางทีต้องคิดย้อนกลับจาก 9-0
- parking มันไม่ได้จอดได้คันเดียว มันต้องมี location ในการจอดที่มากกว่า 1
- booking คือการจอง

เมื่อลูกค้าเช็ค Booking ค่าที่ได้จะต้อง return กลับออกมาเป็นว่าสามารถจองตรงไหนได้ ไม่ใช่ว่า เช็คแล้วเด้งออก ๆ เป็นผมๆจะไม่จอง



ประวัติการแก้ไข
2020-01-30 21:44:08
2020-01-30 21:45:21
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-01-30 21:37:23 By : Genesis™
 


 

No. 8



โพสกระทู้ ( 9,587 )
บทความ ( 2 )



สถานะออฟไลน์


แนะนิดนึง ข้อมูลใน Field วันที่ให้ใช้ Type date
และรูปแบบการเปรียบเทียบ ถ้าเป็น text ให้ใช้ 2020-01-31 แทนการใช้ 12/01/2020
ต้องเข้าใจลักษณะ Priority ของวันที่
ปี จะมี priority สูงกว่า เดือน ๆ สูงกว่า วัน จัดวางลำดับให้เหมือนกับ ตัวเลข หลักหน่วย สิบ ร้อย พัน....
ค่ามาก จะถูกวางไว้ ด้าน ซ้าย (มาก่อน) จะได้เปรียบเทียบได้ไม่มีปัญหา
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-01-30 21:44:35 By : Chaidhanan
 


 

No. 9



โพสกระทู้ ( 41 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 8 เขียนโดย : Chaidhanan เมื่อวันที่ 2020-01-30 21:44:35
รายละเอียดของการตอบ ::
ขอบคุณมากครับ จะลองปรับเปลี่ยน

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-01-31 00:13:36 By : jameslufz
 


 

No. 10

Guest


เรื่อง วันนึงจองได้หลายวันน่าคิดครับ

เอาไปต่อยอด ดู

เรื่องอื่นเฉยๆ ไม่มีไร

Code (SQL)


create table bookCarPark (
id int identity(1,1) ,
idbook int,
idperson int,
checkIn date,
CheckOut Date

)
-- truncate table bookCarPark
insert into bookCarPark values (2,3,'2020-01-12','2020-01-15'),(2,3,'2020-01-18','2020-01-19')

select * from bookCarPark

declare @a date = '2020-01-16', @b date ='2020-01-17' 

select 'can book between '+ cast(@a as varchar(10)) + ' and ' + cast(@b as varchar(10))
where not exists ( select 1 from bookCarPark a where 

    (@a BETWEEN a.checkin AND a.checkout)
    OR (@b BETWEEN a.checkin AND a.checkout)
    OR (a.checkin  BETWEEN @a AND @b)    
    OR (a.checkout  BETWEEN @a AND @b)
)



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-01-31 14:43:42 By : WWWWIN
 


 

No. 11



โพสกระทู้ ( 41 )
บทความ ( 0 )



สถานะออฟไลน์


ผมลองทำได้แล้วนะครับ โดยใช้ NOT IN และ BETWEEN แบบที่คุณ Genesis™ แนะนำมา
อันนี้ผมทำแบบ ระบค่ามาจาก input แล้วอยากจะแชร์ให้เพื่อนๆ พี่ๆ น้องๆ ที่กำลังทำโปรเจคอะไรสักอย่างแนวนี้และนำไปประยุกต์

Code (PHP)
SELECT * FROM parking WHERE idChannel NOT IN
	
	(SELECT idChannel FROM booking WHERE
	(Checkin BETWEEN '".$_POST["checkin"]."' AND '".$_POST["checkout"]."') OR 
	(Checkout BETWEEN '".$_POST["checkin"]."' AND '".$_POST["checkout"]."'))";
// $_POST รับค่า date แบบ y/m/d


หากผิดถูกยังไง แย้งและแนะนำเพิ่มเติมได้เลยครับ
ขอบคุณทุกคนมากครับ

แก้ไขครั้งที่ 4 ตามคอมเมนต์ 12 และทำตามตัวอย่างคอมเมนต์ 10


ประวัติการแก้ไข
2020-02-01 19:39:19
2020-02-01 19:43:21
2020-02-01 19:59:30
2020-02-02 13:15:00
2020-02-02 13:16:38
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-02-01 19:33:33 By : jameslufz
 


 

No. 12



โพสกระทู้ ( 9,587 )
บทความ ( 2 )



สถานะออฟไลน์


แล้ว ถ้าเขา จอง คาบเกี่ยว 2 เดือนล่ะครับ 30 31 1 2

แนะนำให้ใช้ type date ในการ คิวรี่ครับ อย่าใช้แค่ วัน หรือ เดือน มันเพี้ยนได้ง่าย

ตัวอย่างความเห็น 10 ครับ ใช้ได้เลย


ประวัติการแก้ไข
2020-02-01 20:57:14
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-02-01 20:55:46 By : Chaidhanan
 


 

No. 13



โพสกระทู้ ( 41 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 12 เขียนโดย : Chaidhanan เมื่อวันที่ 2020-02-01 20:55:46
รายละเอียดของการตอบ ::
ขอบคุณมากครับ ตอนแรกนึกว่ามันใส่เป็นวันที่ไม่ได้ ตอนนี้เข้าใจแล้ว ขอบคุณมากครับ ขอบคุณทุกคนเลย



ประวัติการแก้ไข
2020-02-02 03:29:08
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-02-01 22:22:32 By : jameslufz
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สามารถตรวจเช็คคาบเวลาได้อย่างไรบ้างครับ(เกี่ยวกับการจอง ห้ามจองทับวัน) รบกวนเข้ามาอ่านรายละเอียดข้างในครับ บน topic มันยาวไป
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 00
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่