![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 012 Pomógł: 109 Dołączył: 26.09.2003 Skąd: nexis.pl Ostrzeżenie: (0%) ![]() ![]() |
Mam w bazie danych przedziały cenowe dla obiektów noclegowych, które wyglądają mniej więcej tak:
Hotel 1, 10-50 zł Hotel 2, 40-120 zł Hotel 3, 20-200 zł W wyszukiwarce chcę również zastosować przedziały cenowe i moje pytanie brzmi: jak skonstruować warunek, aby uwzględniał nawet najmniejszą część wspólną? Chciałbym aby np. Hotel 1 został odnaleziony dla przedziałów: a) 0-100 b) 30-40 c) 40-120 d) 10-20 Ten post edytował nexis 24.05.2009, 17:57:17 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 7 Dołączył: 29.04.2009 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Jeśli przedziały cenowe hotelu to hotel_max i hotel_min
A wyszukiwany przez użytkownika przedział to user_max i user_min Wtedy warunek będzie bardzo prosty: Kod SELECT * FROM `hotele` WHERE user_min <= hotel_max AND user_max >= hotel_min Sprawdzam w ten sposób czy przedziały nie są rozłączne. Jest poprawnie gdy: minimum tego, co chce user jest jest mniejsze niż max cena hotelu ORAZ max tego co chce user jest większe od hotelowego minimum. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 09:44 |