I have a table for class reservation name book
.
I also have a table that has room data which is called room
.
I'm trying to make a condition where if the room is already booked for a specific time period such as 08:00 am till 09:00 am - you cant book the class. But if not then you can .
my sql is:
SELECT * FROM book WHERE room_id = '$room_id' and start_date = '$date' and start_time = '$starttime' BETWEEN (SELECT MIN(start_time) AS mintime
FROM book WHERE room_id = '$room_id' and start_date = '$date') and (SELECT MAX(end_time) AS maxtime
FROM book WHERE room_id = '$room_id' and start_date = '$date')
If the sql returns a row then the user cant book the room .
Sometimes this sql works but sometimes it fails . Is it right what am I doing here ?