Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dwa warunki do jednej kolumny.
Forum PHP.pl > Forum > Bazy danych > MySQL
lexarks
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
maly_swd
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)


To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.