AlexBausW: Problem mit verschachtelten Schleifen

Beitrag lesen

Hallo,

[2x mysql_query() lässt Skript erst funktionieren]

foreach($columns as $temp)  {    //Spaltenköpfe werden durchlaufen

while ($row = mysql_fetch_array($result2, MYSQL_ASSOC)) {                   //Abfrage des Spaltenkopf-Typs
       if ($row['name']==$temp) {
                   $type = $row['type'];
       }
  }

Mit dieser while-Schleife durchläufst Du die gesamte Ergebnistabelle bis zu deren letzen Datensatz. Danach kann mysql_fetch_array() nicht mehr aus der Ergebnistabelle lesen.

// WENN ICH HIER  $result2 = @mysql_query($sqlquery2, $conn);
// EINFÜGE, SO FUNKTIONIERT DAS SCRIPT!

[...]

Das ist logisch, weil Du hier wieder eine neue Ergebnistabelle erzeugst, die von der obigen while-Schleife mit mysql_fetch_array() wieder abgefragt werden kann.

Du solltest vielleicht die Schleifen genau umgekehrt schachteln. Die while-Schleife außen, und die foreach-Schleife darinnen (beispielhaft):

while ([datensatz = getdatensatz]) {
 foreach ([wert]) {
  if ([datensatz_spalte == wert]) {
   [datensatzbearbeitung]
  }
 }
}

Über weitere Verbesserungen des Codes habe ich mir noch keine Gedanken gemacht. :)

Gruß Alex