Ich habe eine Update-Abfrage eingerichtet, die Werte aktualisiert in Textfelder in einer while-Schleife eingegeben. Dies funktioniert gut, bis mehrere Daten von der Datenbank geloopt werden. Dann werden aus irgendeinem Grund nur die letzten Daten in der Schleife aktualisiert und der Rest bleibt gleich.PHP MySQL Update nur eine Zeile aktualisieren
<form method="post" action="update.php">
<?php
$id = $_POST["id"];
$fname = $_POST["fname"];
$lname = $_POST["lname"];
$query= "SELECT * FROM list ORDER BY id ASC" ;
$result= mysql_query($query);
while($row = mysql_fetch_assoc($result)){
echo"<input type=\"hidden\" name=\"id\" value=" . $row['id'] . " />";
echo"<input type=\"text\" name=\"fname\" value=" . $row['fname'] . " />";
echo"<input type=\"text\" name=\"lname\" value=" . $row['lname'] . " />";
}
?>
<input type="submit" value="Save Changes" />
<?php
$sql = "UPDATE list SET fname = '{$fname}', lname = '{$lname}' WHERE id = {$id}";
$result = mysql_query($sql);
?>
</form>
Ihr Update ist nicht in einer Schleife, warum sollte es mehr als einmal aktualisieren? – j08691