Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2003 Teil von Januar

SELFHTML Forumsarchiv
Schleife mit Unterschleife beim Lesen aus Tabelle

Informationsseite
  1. Seite (PHP) Schleife mit Unterschleife beim Lesen aus Tabelle von Hanjo, 31. 01. 2003, 12:21
nach unten

Schleife mit Unterschleife beim Lesen aus Tabelle

Die folgende Nachricht zum Thema stammt von: Hanjo, 31. 01. 2003, 12:21

Moin auch,

Ich möchte folgendes tun:

Aus einer Tabelle lesen,
        ein Feld (nach dem geordnet wurde)anzeigen,
        Den Datensatz anzeigen, solange das o.a. Feld gleich bleibt
          Wenn es nicht gleich ist, wieder an den Anfang der Schleife.

So daß ich folgendes bekomme

'Feldinhalt 1
     - Zeile (mit Feldinhalt1)
     - Zeile (mit Feldinhalt1)
     - Zeile (mit Feldinhalt1)
        ....

Feldinhalt 2
     - Zeile (mit Feldinhalt2)
     - Zeile (mit Feldinhalt2)
     - Zeile (mit Feldinhalt2)
        ....

bis zum Ende des Resultsets

Mein Versuch haut nicht so recht hin:

while ( $row = mysql_fetch_array($result))


 {
  $Kat = $row[1];
                echo '<span>',$Kat,'</span><br/>';
                echo '<ins><ul style="list-style-type:disc;font-family:Verdana, Arial, Helvetica, Sans Serif;font-size:9pt;font-weight : bold;line-height:11pt">';
                echo '<li><a href="',$row[3],'">',$row[2],'</a></li>';

                while ( $row = mysql_fetch_array($result) and ($row[1] == $Kat))
         {
  echo '<li><a href="',$row[3],'">',$row[2],'</a></li>';
                }
                echo '</ul></ins>';

 }

Wie geht es besser ?

TIA

Hanjo

nach obennach unten

Schleife mit Unterschleife beim Lesen aus Tabelle

Die folgende Nachricht zum Thema stammt von: Hanjo, 31. 01. 2003, 12:29

Genauer gesagt:

Der letzte Datensatz kommt nicht mir

nach obennach unten

Schleife mit Unterschleife beim Lesen aus Tabelle

Die folgende Nachricht zum Thema stammt von: lulu, 31. 01. 2003, 12:35

Huhu Hanjo


eine einfache Lösung wäre z.B. erst alle Ergebnisse in einem
zweidimensionalen assoziativen Array zu sammeln.
Der Key ist dabei die Kategorie.

Also z.B.

$stack = array();

while ( $row = mysql_fetch_array($result))
{
 $Kat = $row[1];
 $stack[$Kat][] = $row;
}

 und danach die Ausgabe


foreach ($stack as $k => $rowstack)
{
 printf('<h1>Kategorie: %s</h1>', $k);

 foreach ($rowstack as $row)
 {
   printf ('Eine Zeile %s %s<br>', $row[2], $row[3]);
 }
}

so in etwa sollte es klappen.



Viele Grüße

lulu

--
bythewaythewebsuxgoofflineandenjoytheday

nach obennach unten

Schleife mit Unterschleife beim Lesen aus Tabelle

Die folgende Nachricht zum Thema stammt von: Hanjo, 31. 01. 2003, 12:49

Danke sehr.

Klappt.

Fast ;-)

Nach dem Abarbeiten jeder Kategorie muß ich
(da sich das ganze auf einer Webpage abspielt)
einen Endtag setzen.

Wie mach ich denn das ?

TIA

Hanjo

nach obennach unten

Schleife mit Unterschleife beim Lesen aus Tabelle

Die folgende Nachricht zum Thema stammt von: Hanjo, 31. 01. 2003, 12:54

Danke, schon selber rausgefunden.

So:
foreach ($stack as $k => $rowstack)
{
 echo '<span>',$Kat,'</span><br/>';
                echo '<ins><ul style="list-style-type:disc;font-family:Verdana, Arial, Helvetica, Sans Serif;font-size:9pt;font-weight : bold;line-height:11pt">';

 foreach ($rowstack as $row)
 {
   echo '<li><a href="',$row[3],'">',$row[2],'</a></li>';
 }
 echo '</ul></ins>';    <------------- Hier
}


Hanjo

nach oben
Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2003 Teil von Januar

© 1998-2006 Seite Impressum, Software: Classic Forum