Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SQL] Wyświetlanie wolnych pokoi wg. terminarza
-coCCine-
post
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;

  1. # {CZAS_START} - unixtimestamp (np. 2013-10-01)
  2. # {KONIEC_CZASU} - unixtimestamp (np. 2013-10-08)
  3.  
  4. SELECT p.id AS pokoj_id, p.name, p.description FROM pokoje AS p
  5. WHERE p.id NOT IN(SELECT rez.hotel_pokoj_id FROM rezerwacje AS rez WHERE raz.start_rezerwacji >= {CZAS_START} AND raz.koniec_rezerwacji <= {KONIEC_CZASU})
  6. AND p.country_id = 'pl'


Struktura tabel wygląda mniej więcej tak:
  1. # pokoje
  2. id, name, description, country_id
  3.  
  4. # rezerwacje
  5. id, hotel_pokoj_id, start_rezerwacji, koniec_rezerwacji, dane_kontaktowe


Chciałbym Was prosić, czy dobrze jest zbudowana LOGIKA tego podzapytania - czy warunek WHERE ma sens ?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 07:24