Sprawdzanie czy termin jest wolny

2009-10-17 16:32

Wydawałoby się, że sprawdzenie czy w danym terminie są wolne pokoje to coś prostego. Przysporzyło mi to jednak dość dużo problemów i z pomocą przyszedł mi CoYoT (#php.pl), który podesłał mi gotowe zapytanie, które sam kiedyś opracował.

Zanim jednak podam to zapytanie, stwórzmy przykładową tabelę w PostgreSQL i wypełnijmy ją danymi:

Teraz nasze magiczne zapytanie.

Wyjaśnienie zapytania:

(1) sprawdza czy spotkanie nie jest wewnątrz innego
(2) sprawdza czy spotkanie nie zawiera całego spotkania
(3) sprawdza czy spotkanie nie przecina innego

Dalsza część kodu, która przetestuje nasze zapytanie.

Jeśli nie chcemy by w tym samym dniu kończył się termin i zaczynał wystarczy w (3) dodać ">=" i "<=" zamiast ">" i "<". W taki sam sposób możemy sprawdzić grafik godzinowy w interesującym nas dniu.

Słowa kluczowe: PHP, PostgreSQL, Techblog, termin, wolny, artykuł, blog

Projektowanie i tworzenie stron www w PHP5. Opisy i recenzje oprogramowania typu cms, blog, wiki, open source.
Wszelkie prawa zastrzeżone.