Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> zapytanie, czy poprawne?
slimy
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 13.09.2009

Ostrzeżenie: (0%)
-----


resFrom i resTo w bazie danych zawierają datę rezerwacji (od, do)
analogicznie zmienne $this->resFrom i $this->resTo zawierają również datę rezerwacji dla danego obiektu

Poblem: Zapytanie ma sprawdzić czy istnieją już jakieś rezerwacje w tym terminie - po prostu czy termin jest wolny i nie koliduje z innymi rezerwacjami. Jeżeli znajdzie jakąś rezerwację to zwróci dla niej resID i resztę zrobi już skrypt. Czy poniższe zapytanie bierze pod uwagę wszystkie możliwości? Czy przy jakichś warunkach brzegowych będzie działało nie prawidłowo?

  1. SELECT resID FROM Reservations
  2. WHERE (resFrom < '{$this->resFrom}' AND resTo > '{$this->resFrom}')
  3. OR (resFrom >= '{$this->resFrom}' AND resFrom <= '{$this->resTo}');
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Mchl
post
Post #2





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

Ostrzeżenie: (0%)
-----


Start i koniec 'nowej' imprezy musi być przed startem, lub po zakończeniu imprez istniejących, tak więc jeśli początek lub koniec nowej imprezy wypada pomiędzy początkiem i końcem imprezy istniejącej, wówczas mamy kolizję.

Kod
WHERE
($this->resFrom > resFrom AND $this->resFrom < resTo)
OR
($this->resTo > resFrom AND $this->resTo < resTo)


Ten post edytował Mchl 28.04.2010, 10:14:46
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 15.10.2025 - 00:47