Hallo Rolf,
Den Warenkorb selbst wirst Du aber auch brauchen, oder?
Jain, denn dort ist der Ausgangspunkt. Er ist insofern vorhanden. Auch $artikelliste ist bereits vorhanden, weil als Funktion hinterlegt und bereits an dieser Stelle im Programm genutzt.
Also
-- Allg. Daten zum Warenkorb einlesen SELECT w.mid, w.foo, w.bar, w.baz FROM table4 w WHERE w.mid = 4780 -- Artikel im Warenkorb holen SELECT s.anzahl, s.dings, s.bums, a.id, a.name, a.del, foo, bar, baz FROM table3 s JOIN artikel a ON s.id = a.id WHERE s.mid = 4780
An dieser Stelle solltest Du die Artikelliste übernehmen und die Artikel-IDs zu einer kommaseparierten Liste machen
SELECT dg.id, dg.bla, dg.blub, dg.hui FROM table2 dg WHERE dg.id IN ($artikelliste)
Nicht bös sein, aber ich glaube, so wird das eher nichts. Du hast die Daten aus Tabelle1 unberücksichtigt, die sind aber wichtig (oder meintest Du das mit Deiner Eingangsfrage nach dem Warenkorb?).
Meine Idee:
Query 1: (ermittelt die Artikel)
SELECT m.t1_id, m.bla, m.blub, m.hui
FROM table1 m
JOIN table3 t3 ON m.t1_id = t3.t1_id
WHERE t3.mid = 4780
AND m.del != 1
Query 2: (ermittelt die Artikelbewertungen)
SELECT dg.t2_id, dg.bla, dg.blub, dg.hui
FROM table 1 m
LEFT JOIN table2 dg ON m.t1_id = dg.t1_id
WHERE dg.t1_id IN ($artikelliste)
AND dg.del != 1
Was mir noch fehlt, ist der Zusammenhang aus Query1+2, also die Zuordnung der Bewertungen zum Artikel.
Jörg