![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 101 Pomógł: 0 Dołączył: 20.03.2011 Ostrzeżenie: (10%) ![]() ![]() |
Witam!
Męczę się z tym od jakiegoś czasu. Mam dwa kryteria kategorie i lokalizacje. Nie mam problemu z wybraniem danych na podstawie jednego kryterium czyli np. kategorii albo lokalizacji.
kategorie, lokalizacje i podkategorie pobieram z adresu strony. Problem mi sprawia to żeby pobrać dane na podstawie dwóch kryteriów, czyli np. najpierw wybrać z menu kategorie żeby wyświetlić dane z tej kategorii i później wybrać lokalizacje żeby wyświetlone dane z kategorii odnosiły się do wybranej lokalizacji. adres dla lokalizacji wyglądał by tak: kategoria.php?kat=kategoria1,lok=lokalizacja Próbowałem:
ale wtedy muszą być oba kryteria spełnione Jak zrobić, żeby skrypt działa zarówno z jednym z tych kryteriów jak i z dwoma? Pozdrawiam |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 18.03.2011 Skąd: R do M / Sanniki Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 101 Pomógł: 0 Dołączył: 20.03.2011 Ostrzeżenie: (10%) ![]() ![]() |
Dzięki za odpisanie ale niestety nie wyświetla mi danych według lokalizacji, jest pustka.
mam adres: ....kat=kategoria1,lok=lokalizacja3 zapytanie wygląda następująco:
kategorie są wyświetlane dobrze ale jak próbuje filtrować dane według lokalizacji to nie ma żadnych danych wyświetlonych. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 18.03.2011 Skąd: R do M / Sanniki Ostrzeżenie: (0%) ![]() ![]() |
nie wiem co masz na przodzie ale
masz 2 zmienne pierw bym sprawdził czy w $_get są zmiene alertem lub confirm_return dalej bym układał pod mysql i co ostano się naciąłem to warunek or w () po where dodaj Luka |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 158 Pomógł: 43 Dołączył: 9.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
... adres dla lokalizacji wyglądał by tak: kategoria.php?kat=kategoria1,lok=lokalizacja ... Jeśli nie masz ustawionych jakiś reguł dla htaccess oraz nie zmieniałeś separatora parametrów przekazywanych przez $_GET, to z takiego fragmentu adresu będziesz miał ustawioną jedną zmienną $_GET['kat'] równą oczywiście 'kategoria1,lok=lokalizacja' Parametry w adresie zwykle oddziela się znakiem & (ampersand) o ile tego nie zmieniłeś, zatem adres powinien mieć format: Kod kategoria.php?kat=kategoria1&lok=lokalizacja Dodatkowo moim zdaniem należałoby sprawdzić przed wykonaniem zapytania czy coś jest podane w zmiennych oraz stosować funkcję mysql_real_escape_string |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 101 Pomógł: 0 Dołączył: 20.03.2011 Ostrzeżenie: (10%) ![]() ![]() |
Doszedłem do błędu który sprawiał, że nie wyświetlało nic w lokalizacji a problem tkwił w adresie, zamieniłem:
kategoria.php?kat=kategoria1,lok=lokalizacja na: kategoria.php?kat=kategoria1&lok=lokalizacja Niestety rozwiązanie z OR nie jest odpowiednie
bowiem np. w kategorii 1 wyświetlane są również dane z innych kategorii ale o podanej lokalizacji, a mi chodzi o to, żeby były wyświetlane dane tylko z wybranej kategorii i wybranej lokalizacji, chodzi o zawężenie wyświetlenia do kolejnego kryterium. Czy mógłbym to tak rozwiązać:
lokalizacja='' miałoby oznaczać że w ogóle nie występuje w adresie. Kombinuje w ten sposób, bo jak np. wybiorę sama kategorię to wtedy mi nic nie wyświetla bo adres wygląda tak: kategoria.php?kat=kategoria1 a jak wybiore kategorie i lokalizacje to tak: kategoria.php?kat=kategoria1&lok=lokalizacja2 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 158 Pomógł: 43 Dołączył: 9.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 101 Pomógł: 0 Dołączył: 20.03.2011 Ostrzeżenie: (10%) ![]() ![]() |
Wielkie dzięki za pomoc w rozwiązaniu działa jak chciałem!
Pozdrawiam! Witam! Ktoś wie co w tym kodzie jest nie tak?
Kod przedstawiony przez Bana działa poprawnie, ale chciałem go trochę zmodyfikować i już nie działa. Ten post edytował kosior11 22.06.2012, 13:02:20 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 27.05.2025 - 19:57 |