 |
|
ผมจะตรวจสอบช่วงเวลาที่ว่าง สำหรับระบบจองห้อง สามารถจองเวลาเริ่มต้นหรือสิ้นสุดชนกันได้ ที่ผมติดปัญหาตรงเวลาเราจองเวลา12:00:00เป็นต้นไป หรือ 2021-07-12 08:00:00 ถึง 2021-07-12 10:00:00 ไม่สามารถจองเวลาชนกันได้ แต่ถ้าต่างกันแต่เสี่ยวนาทีสามารถจองได้ครับ
ตัวอย่างเช่น
ในระบบ จองวันที่ 2021-07-12 10:00:00 ถึง 20-21-07-12 12:00:00
เวลาที่จองห้องประชุมได้ต้องแต่เวลาดังนี้
1.2021-07-12 08:00:00 ถึง 20-21-07-12 10:00:00
2.2021-07-12 12:00:00 ถึง 20-21-07-12 16:00:00
เวลาที่จองไม่ได้
2021-07-12 10:00:00 ถึง 20-21-07-12 12:00:00
ฐานข้อมูล
CREATE TABLE `db_meeting_reservation` (
`MRN_id` int(11) NOT NULL COMMENT 'ไอดีตารางจองห้องประชุม',
`M_id` int(11) NOT NULL COMMENT 'ไอดีตารางผู้ใช้งาน',
`WG_id` int(2) NOT NULL COMMENT 'ไอดีตารางกลุ่มงาน ',
`MRN_subject_meeting` longtext NOT NULL COMMENT 'เรื่องประชุม',
`MR_id` int(1) NOT NULL COMMENT 'ไอดีตารางห้องประชุม',
`MRN_meeting_start` datetime NOT NULL COMMENT 'วันที่เริ่มประชุม',
`MRN_meeting_end` datetime NOT NULL COMMENT 'วันที่สิ้นสุดประชุม',
`MRN_chairman` varchar(40) NOT NULL COMMENT 'ชื่อประธานประชุม',
`MRN_travelers` varchar(3) NOT NULL COMMENT 'จำนวนคนประชุม',
`MRN_request_zoom` enum('ใช้','ไม่ใช้') NOT NULL COMMENT 'ขอใช้zoom',
`MRN_employee_name` int(40) NOT NULL COMMENT 'ชื่อผู้ของใช้',
`MRN_recording_date` datetime NOT NULL COMMENT 'วันที่บันทึก',
`MRN_status` enum('ขอใช้','ยกเลิก') NOT NULL COMMENT 'สถานะขอใช้'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Dumping data for table `db_meeting_reservation`
--
INSERT INTO `db_meeting_reservation` (`MRN_id`, `M_id`, `WG_id`, `MRN_subject_meeting`, `MR_id`, `MRN_meeting_start`, `MRN_meeting_end`, `MRN_chairman`, `MRN_travelers`, `MRN_request_zoom`, `MRN_employee_name`, `MRN_recording_date`, `MRN_status`) VALUES
(4, 1, 1, 'test', 1, '2021-07-12 10:00:00', '2021-07-12 12:00:00', 'test3', '2', 'ใช้', 2, '2021-07-12 11:36:39', 'ขอใช้');
คำสั่งsql
SELECT * FROM db_meeting_reservation WHERE ((MRN_meeting_start BETWEEN '2021-07-12 12:00:00' AND '2021-07-12 13:36:00') OR( MRN_meeting_end BETWEEN'2021-07-12 12:00:00' AND '2021-07-12 13:36:00') OR ('2021-07-12 12:00:00' BETWEEN MRN_meeting_start AND MRN_meeting_end) OR ('2021-07-12 13:36:00' BETWEEN MRN_meeting_start AND MRN_meeting_end)) AND MR_id ="1" AND MRN_status NOT IN ("ยกเลิก")
Tag : PHP, MySQL, MySQL
|
|
 |
 |
 |
 |
Date :
2021-07-12 14:36:25 |
By :
pop41554 |
View :
1705 |
Reply :
2 |
|
 |
 |
 |
 |
|
|
|
 |