PHP MySQL mise à jour uniquement la mise à jour d'une ligne

J'ai mis en place une requête de mise à jour qui permettra de mettre à jour les valeurs entrées dans les champs de texte sur une boucle while. Cela fonctionne très bien jusqu'à ce que de multiples données en boucle à partir de la base de données. Puis pour une raison quelconque, seul le dernier de données dans la boucle sera mis à jour et le reste va rester la même.

    <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>
Votre mise à jour n'est pas dans une boucle, alors pourquoi devrait-il mettre à jour plus d'une fois?

OriginalL'auteur user1078385 | 2012-03-27