![]() |
![]() |
-coCCine- |
![]()
Post
#1
|
Goście ![]() |
Cześć wszystkim!
Zastanawiam się w jaki sposób OPTYMALNIE zrealizować następujące założenie. Mamy tabelę gdzie trzymam spis pokoi, oraz tabele, w której trzymam informacje nt. rezerwacji dla danego pokoju. Użytkownik przez formularz wysyła dwie daty (startową i końcową - od kiedy; do kiedy chce wynająć pokój) i teraz chciałbym pobrać listę pokoi (nazwa pokoju, opis pokoju, itd), gdzie rezerwacja będzie wolna - myślałem nad takim rozwiązaniem;
Struktura tabel wygląda mniej więcej tak:
Chciałbym Was prosić, czy dobrze jest zbudowana LOGIKA tego podzapytania - czy warunek WHERE ma sens ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Nie wchodząc w sprawy techniczne a algorytmiczne:
Jeśli mamy dwa zakresy dat, które nie mogą się w żaden sposób krzyżować to musisz sprawdzić sporo możliwych kombinacji. Jeśli data startu planowanej rezerwacji zawiera się w okresie zajętości pokoju lub jeśli data końca planowanej rezerwacji zawiera się w okresie zajętości pokoju lub jeśli data startu zajętości pokoju zawiera się w okresie planowanej rezerwacji lub jeśli data końca zajętości pokoju zawiera się w okresie planowanej rezerwacji to ten pokój powinien zostać wyeliminowany. Wystarczy to zanegować i użyć w zapytaniu by otrzymać listę pokoju które mogą być zarezerwowane (IMG:style_emoticons/default/smile.gif)
Ten post edytował Sephirus 2.10.2013, 09:42:48 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 14:40 |