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