Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak wyznaczyć część wspólną dwóch zakresów?
nexis
post
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Kasyx
post
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.
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: 11.10.2025 - 09:44