Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]wyświetlanie danych z tabeli na podstawie kilku kryteriów
kosior11
post
Post #1





Grupa: Zarejestrowani
Postów: 101
Pomógł: 0
Dołączył: 20.03.2011

Ostrzeżenie: (10%)
X----


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.

  1. $query = "(SELECT id,...,kategoria,podkategoria,lokalizacja FROM tabela where kategoria='".$_GET['kat']."') ORDER BY dane DESC";


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:
  1. SELECT ... where kategoria='".$_GET['kat']."' AND lokalizacja='".$_GET['lok']."'

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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
BaN
post
Post #2





Grupa: Zarejestrowani
Postów: 158
Pomógł: 43
Dołączył: 9.11.2007

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


  1. if (isset($_GET['kat']) && (strlen($_GET['kat']) > 0)) {
  2. $query = "SELECT ... WHERE kategoria='" . mysql_real_escape_string($_GET['kat']) . "'";
  3. if (isset($_GET['lok']) && (strlen($_GET['lok']) > 0)) {
  4. $query .= " AND lokalizacja='" . mysql_real_escape_string($_GET['lok']) . "'";
  5. }
  6. $query .= ' ORDER BY dane DESC';
  7. }
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: 2.10.2025 - 10:38