![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 5.03.2015 Ostrzeżenie: (0%) ![]() ![]() |
Mam tabele:
REZERWACJE(id_rezerwacji, id_klienta, id_lozka, od, do, czy_zameldowal, cena, czy_zaplacil, uwagi) LOZKA(id_lozka, numer_pokoju, cena) Mam formularz w którym wybieram łóżko, i date OD i date DO... Potrzebuję stworzyć zapytanie do bazy MYSQL sprawdzające czy dane łóżko jest wolne w danym przedziale czasu... Próbowałem już różne zapytania i nic mi nie wychodzi... CODE SELECT * FROM `lozka` LEFT JOIN `rezerwacje` ON `id_lozka` = `id_lozka` WHERE (`$od` BETWEEN '$od' AND '$do') OR (`$do` BETWEEN '$od' AND '$do') Jest ktoś w stanie mi pomóc? Wykombinowałem coś takiego ale to jeszcze chyba nie to.. coś mi tu jeszcze nie pasuje :/ $zapytanie = "SELECT * FROM rezerwacje WHERE id_lozka='$id_lozka' and od BETWEEN '$od' AND '$do' OR id_lozka='$id_lozka' and do BETWEEN '$od' AND '$do';"; |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 18 Dołączył: 7.10.2007 Skąd: Pruszków Ostrzeżenie: (0%) ![]() ![]() |
Ja bym sobie wyznaczył które łóżka są zajęte (tak chyba będzie łatwiej co nie znaczy że bardziej optymalnie). Łóżka zajęta to takie które rezerwacje można opisać poniższym warunkiem (dzisiaj myślenie sprawia mi ból więc trzeba sprawdzić czy ten warunek poniżej jest ok):
($dataOd <= od && $dataDo > od) OR ($dataOd < do && $dataDo >= do) W związku z tym zapytanie by wyglądało następująco:
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 18:09 |