Sönke Tesch: MySQL: Resultlist in Array und im Wechsel ausgeben...

Beitrag lesen

Hat jemand eine Idee wie man halt bequem sagen könnte: lese mir KAT_1 dann alle Produkte von KAT_1, dann nächste Kategorie mit den jew. Produkten?

Zum Beispiel: Sortiere in der Datenbankabfrage nach der Kategorie (und dann nach was-immer-Du-haben-willst). Beim Auslesen prüfst Du, ob die Kategorie des aktuellen Datensatzes noch die gleiche ist wie beim vorherigen; wenn nicht, beginnst Du einen neuen Kategorienabsatz:

$alt_k=null;
  while ($daten=mysql_fetch_assoc(..))
   {
    if ($alt_k!==$daten["kategorie"])
      {
       echo $daten["kategorie"];
       $alt_k=$daten["kategorie"];
      };
    echo $daten["artikelblabla"];
   };

Du könntest aber auch beim Auslesen erstmal alles in ein Feld schreiben, etwa so:

while ($artikel=mysql_fetch_assoc(..))
    $daten[$artikel["kategorie"][]=$artikel;

In einer verschachtelten foreach-Schleife gibst Du dann in der äußeren die Kategorie aus und in der inneren den Artikel:

foreach ($daten as $kategorie=>$artikel)
   {
    echo $kategorie;
    foreach ($artikel as $a)
     {
      echo $a;
     };
   };

Gruß,
  soenk.e