mam skypt, w którym dokonuję rezerwaci sali, niestety mam problem ze sprawdzeniem czy dana sala jest już zarezerwowana czy nie.
SELECT * FROM terminarz WHERE sala='{$sala}' AND ((start BETWEEN '{$start}' AND '{$end}') OR (end BETWEEN '{$start}' AND '{$end}')) ORDER BY id DESC
powyższe zapytanie działa wtedy kiedy chcemy rezerwować salę przy starcie lub endzie.
A co gdy chcę zarezwować salę w godzinach których owa sala jest zajęta?
PRZYKŁAD:
Sala | Start | End
1 | 12:00 | 15:00
2 | 08:00 | 15:00
Jeśli dam:
{$start} = 10:00
{$end} = 16:00
{$sala} = 1
to działa, tzn. nie zarezerwuje mi sali i wyskoczy komunikat o rezerwacji
Jeśli dam:
{$start} = 13:00
{$end} = 14:00
{$sala} = 1
to nie działa, tzn. zarezerwuje mi salę...
Jak poprawić takie zapytanie?
Samo sql wystarczy czy to trzeba połączyć z PHP?