![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 135 Pomógł: 1 Dołączył: 7.05.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam ponownie.
Tym razem chciałbym wyszukiwać sobie obiekty dla których podana data X mieści się w przedziale Y-Z wyznaczonym poprzez cennik. Cennik: room_price(room_id, day_from, month_from, year_from, day_to, month_to, year_to, price, id). Jak widać jeden pokój może mieć zdefiniowanych wiele przedziałów cenowych (cenników). User w formularzu rezerwacji podaje sobie powiedzmy date przyjazdu. Chcialbym teraz w MySQLu sprawdzić czy ta data znajduje się w którymś ze zdefiniowanych przedziałów cenowych? Jak to zrobić na poziomie SQL? Jakieś pomysły? Przykładowo: User podaje datę 24-12-2008. Pokoj nr1 ma cennik 20-12-2008 do 30-12-2008 = 300euro Pokoj nr2 ma cennik 1-12-2008 do 19-12-2008 = 400euro Zapytanie powinno więc wskazać TYLKO pokój nr1. Pozdrawiam, parzol. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 595 Pomógł: 282 Dołączył: 24.09.2007 Skąd: Reda, Pomorskie. Ostrzeżenie: (0%) ![]() ![]() |
-------------------- - Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... - |
|
|
![]() ![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 135 Pomógł: 1 Dołączył: 7.05.2005 Ostrzeżenie: (0%) ![]() ![]() |
Po dłuższym zastanowieniu to chyba nie działa to dobrze, bo wychodzą mi dziwne wyniki
![]() Zresztą jak tak pomyśleć to na logike nie powinno działać, bo jak mogę porównywać stringi? Musiałbym te daty wszystkie pozamieniać na np znaczniki czasu Unixowego jak na poziomie PHP się robi. Można tak zrobić w MySQL? Ten post edytował parzol 3.09.2008, 18:48:24 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 595 Pomógł: 282 Dołączył: 24.09.2007 Skąd: Reda, Pomorskie. Ostrzeżenie: (0%) ![]() ![]() |
dziwne wyniki mogą wychodzić jeżeli pola year_from i year_to są dwu- a nie czterocyfrowe... lub użytkownik wprowadza 2 cyfrowy rok...
powodzenia. -------------------- - Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... - |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 135 Pomógł: 1 Dołączył: 7.05.2005 Ostrzeżenie: (0%) ![]() ![]() |
No już wogóle nie działa co napisałeś. Rok zawsze jest w formacie 4-liczbowym.
Aktualnie mam takie coś:
Ale podaje mi złe wyniki ![]() UPDATE: Właśnie zauważyłem że problem leży w tym że jesli mamy kilka rezerwacji to on sprawdza w petli i bierze pod uwage ostatni przedział. Jak zrobić żeby sprawdził wszystkie przedzialy a jesli tylko raz wystapi wartosc w przedziale to juz nie zwraca nam obiektu (a nie tylko patrzy na ostatni przedzial)? Ten post edytował parzol 3.09.2008, 22:34:50 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 05:28 |