使用Php更新MySql列中的错误

I have a simple database with two columns - id and file_name. In file_name column I have mp3 filenames such as Summer of 69.mp3 . Now I want to rename 10 filenames with UPDATE statement. But what I have tried is updating only the last one file.

$dbc = mysqli_connect ('host','user','pwd','database')
   or die ('Error connecting to database');

$query = "SELECT * FROM files ORDER BY id DESC LIMIT 10";
$result = mysqli_query ($dbc,$query)
      or die ('Error Came');

echo '<form action=rename.php method=post>';

while($row = mysqli_fetch_array($result)) {

$filename = $row['file_name'];
$fid = $row['id'];

echo '<input type="text" name="f[]" value="'.$row['file_name'].'" size="50"><br/><br/>';

}

echo '<input name="submit" type="submit" value="update"></form>';

if(isset($_POST['submit'])) {

foreach ($_POST['f'] as $f ){

$query = "UPDATE files SET file_name ='$f' WHERE id='$fid'";
mysqli_query ($dbc,$query)
      or die ('Error Came');
}
}

mysqli_close($dbc);

Any way out to fix this ?

if(isset($_POST['submit'])) {
$f=$_POST['f'];
foreach ($f as $key=>$value ){
$query = "UPDATE files SET file_name ='$value' WHERE id=$row[$key]";
mysqli_query ($dbc,$query)
      or die ('Error Came');
}
}

This may work for you

Only last file is updating because $fid contains the id of last file.

$i=0;
while($row = mysqli_fetch_array($result)) {
if($i==0)
{$fid = $row['id'];$i++;}//now $fid contains the first file's id
$filename = $row['file_name'];


echo '<input type="text" name="f[]" value="'.$row['file_name'].'" size="50"><br/><br/>';

}

Now in the other part

 if(isset($_POST['submit'])) {

foreach ($_POST['f'] as $f ){

$query = "UPDATE files SET file_name ='$f' WHERE id='$fid'";
mysqli_query ($dbc,$query)
      or die ('Error Came');
$fid++;
}
}