Unterabfrage

dreix

Grünschnabel
diese Abfrage funktioniert manchmal. warum nicht immer?
Code:
SELECT produkt_id AS id, produktname, produktbeschreibung,
(SELECT bild_id FROM shop_bilder WHERE produkt_id=id ORDER BY RAND() LIMIT 1) AS bildid,
(SELECT bildname FROM shop_bilder WHERE bild_id=bildid) AS bildname,
(SELECT typ FROM shop_bilder WHERE bild_id=bildid) AS typ
FROM shop_produkte
GROUP BY shop_produkte.produkt_id
ORDER BY hitliste DESC");echo mysql_error();
 
Was heißt "funktioniert manchmal"?
Gibt einen Fehler?
Gibt keine Ergebniszeile?

Ich wette es hängt mit dem RAND zusammen.
 
Ergebnis wird so ausgegeben
PHP:
Array ( [id] => 3020 [produktname] => Kinderschlafsack [produktbeschreibung] => Bunter Kinderschlafsack. [bildid] => 7 [bildname] => [typ] => ) 
Array ( [id] => 3022 [produktname] => Kinderschlafsack [produktbeschreibung] => Kinderschlafsack m [bildid] => 11 [bildname] => Img_0081 [typ] => jpg ) 
Array ( [id] => 3023 [produktname] => Kinderschlafsack  [bildid] => 14 [bildname] => [typ] => )
Array ( [id] => 3024 [produktname] => Schlafsack - Designer [produktbeschreibung] => Designe deinen eigenen Schlafsack  [bildid] => 65 [bildname] => Bild3 [typ] => jpg ) 
Array ( [id] => 3028 [produktname] => Babyschlafsack [produktbeschreibung] => Babyschlafsack  [bildid] => 33 [bildname] => [typ] =>

man sieht also die bildid kommt immer. manchmal wird ein bildname ausgegeben und manchmal der bildtyp (jpg oder gif). manchmal auch alles beides. aber warum gibt er mal was aus und mal nicht

vermutung mit RAND habe ich auch, aber wie mache ich es richtig?

ich will zu einem Produkt, welches mehrere Bilder hat, per Zufall ein Bild auswählen und anzeigen.
 
Zurück