HeikoH: Ergebnis aus Tabelle ausgeben

Beitrag lesen

Hallo Christian,

aus der WHILE Schleife habe ich jetzt auch eine FOR gemacht, so habe ich den besseren Überblick, danke für den Ansatz.
Um den FELDNAMEN(Spaltenname) ging es mir bei der ganzen Sache.
Die Ausgabe sind Textfelder, Wert ist $feld und Name ist $feldname

Komplett sind es dann so aus:

$num = mysql_num_rows($ergebnis);
for($i=0; $i<$num; $i++){
 print "<form method="post" action="$PHP_SELF?action=bearbeiten"><tr><td>\n";
 print "<input type="hidden" name="prod_name" value="$prod_name">";
 print "<input type="hidden" name="prod_id" value="$prod_id">";
 print "<input type="submit" name="p_aendern" value="ändern">";
 print "<input type="submit" name="p_loeschen" value="löschen"></td>\n";
 $anz_felder = mysql_num_fields($ergebnis);
 for($x = 0; $x < $anz_felder; $x++){
  $feldname=mysql_field_name($ergebnis, $x);
  $eni = mysql_result($ergebnis, $i, $feldname);
  if($feldname == "id")
   print "<input type="hidden" name="$feldname" value="$eni">\n";
  else
   print "<td><input type="text" name="$feldname" value="$eni"></td>\n";
  }
 print "</tr></form>\n";
 }

Herzlichen Dank noch mal!

Heiko

Du schachtelst 3 Schleifen:

while (...) {
  foreach (...) {
    for (...) {
    }
  }
}

Die innere for-Schleife kannst Du Dir schenken. Die ist zwar im Tabellenkopf notwendig, in den eigentlichen Zeilen wird diese jedoch durch die foreach-Schleife, die den Datensatz in die Felder aufteilt, ersetzt. Daher:

while (...) {
  ...
  foreach ($datensatz as $index => $feld) {
    print "<td>$feld"</td>\n";
  }
  ...
}

Warum Du den Feldnamen wiederholst, ist mir unklar, deswegen habe ich es weggelassen.

Christian