Sven Rh.: schleifen in schleife

Beitrag lesen

Γειά σου, phillip!

<?php
[Code]
?>

das problem ist, dass die beiden schleifen 2 und 3 nur beim ersten durchgang von schleife 1 ausgeführt werden. also angenommen die erste schleife wird 10 mal durchgeführt, dann werden zwar 10 zeilen in der tabelle als ausgabe erstellt und auch alle select felder, nur werden den select forms nicht die zugehörigen option tags angefügt. also werden die beiden inneren schleifen nicht mehr ausgeführt. weiss jemand woran das liegen kann?

Wie Franz bereits erwähnt hat, musst du den Datensatz-Zeiger innerhalb des Abfrage-Ergebnisses wieder an den Anfang desselben bewegen. mysql_fetch_array() verschiebt ihn bei jedem Aufruf um eine Stelle weiter nach "hinten" im Abfrage-Ergebnis, mit mysql_data_seek() kannst du ihn zurück auf z. B. den Anfang des Abfrage-Ergebnisses setzen. Konkret musst du dafür deinen Code wie folgt verändern:

while (...) # Schleife 1  
{  
    ...  
    while ($row4 = @mysql_fetch_array ($sql_res4)) # Schleife 2  
    {  
        ...  
    }  
    mysql_data_seek ($sql_res4, 0); # Zurücksetzen des Datensatz-Zeigers  
    while ($row3 = @mysql_fetch_array($sql_res3)) # Schleife 3  
    {  
        ...  
    }  
    mysql_data_seek ($sql_res3, 0); # Zurücksetzen des Datensatz-Zeigers  
    ...  
}

Αντίο!
Sven aus Bonn

--
Ἀεὶ πάντα ῥεῖ.
Selfcode: ie:% fl:( br:> va:} ls:[ fo:) rl:( n4:{ ss:| de:> js:| ch:) mo:} zu:) - Selfcode dekodieren - Selfcode-Info