Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dwa warunki do jednej kolumny.
lexarks
post 18.09.2012, 15:01:10
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 28.09.2010

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


Witam,

Próbuję stworzyć wyszukiwarkę z checkboxami i utknąłem.
Mam 3 tabele. Główna z kategoriami oraz dwie łączące.
Wygląda to mniej więcej tak:

kategorie:
id_kategorii, nazwa

tematyka_has_kategorie:
id, tematyka, kategoria
1, 2 (id z tabeli z nazwami tematyk), 1 (id_kategorii)

gatunki_has_kategorie:
id, gatunek, kategoria
1, 1 (id z tabeli z nazwami gatunków), 1 (id_kategorii)

Mam checkboxy (tematyki[], gatunki[]) i zaznaczam sobie kilka gatunków oraz tematyk. Jak teraz z tego skleić zapytanie?

Próbowałem już na wiele sposobów. Aktualnie mam coś takiego, ale to nie działa tak, jakbym chciał:

Kod
SELECT id_kategorii, nazwa
FROM kategorie
LEFT JOIN gatunki_has_kategorie
ON id_kategorii = kategoria_gat
LEFT JOIN typ_has_kategorie
ON kategoria_gat = kategoria_typ
LEFT JOIN tematyka_has_kategorie
ON kategoria_typ = kategoria_tem
WHERE tematyka_kat IN (8,9) AND gatunek_kat IN (3)
GROUP BY id_kategorii
ORDER BY nazwa ASC
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
maly_swd
post 18.09.2012, 18:11:41
Post #2





Grupa: Zarejestrowani
Postów: 744
Pomógł: 118
Dołączył: 14.02.2009
Skąd: poziome

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


Jezeli kategoria jest jakos powiazana z gatunkiem to:


WHERE (tematyka_kat =8 AND gatunek_kat=3) OR (9 AND gatunek_kat IN 4) itd

jesli nie sa powiazane... to WHERE tematyka_kat IN (8,9) OR gatunek_kat IN (3)




--------------------
śmieszne obrazki
Kryzys: Ser jem spleśniały, wino piję stare i samochód mam bez dachu..
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 02:07