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
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