Dobra zrobiłem bazę jak podpowiadacie. Dane jakich lodów poszukujemy wybiera użytkownik strony, nazwy wybranych składników znajdują się w tablicy tab[].
Mam jeszcze pytanie, jak ułożyć zapytanie, które pokaże nam lody wyłącznie z tymi wybranymi składnikami (bez żadnych innych, np. użytkownik wybrał czekolada, mięta, więc lód może zawierać jedynie czekolade i mięte),
a drugie zapytanie, które pokaże nam lody z wybranymi składnikami (ale dodatkowo mogą być także inne składniki, np. użytkownik wygrał czekolada, mięta, ale lód może zawierać także np. orzechy).
Sam zrobiłem następujące zapytanie, jednak źle wyświetla dane, gdy jest więcej niż 1 składnik.
SELECT lod.nazwa, lodziarnia.miasto
FROM `lod`, `lodziarnia`, `skladnik`, `kompozycja`
WHERE lodziarnia.id = lod.id_lodziarnia AND
skladnik.nazwa IN ('".implode("', '", $tab)."') AND
kompozycja.id_skladnik = skladnik.id AND
lod.id = kompozycja.id_lod