0

我想更新数据库中的字段。这是我从数据库中获取记录并以表格形式显示它们的代码。

<form name="create_album" method="POST" action="" style="width:auto;">

<label for="First Name">Album Name</label>

<input type="text" name="album" id="album" placeholder="Album Name"value="<?php echo $album_name; ?>" />


<?php 
$result = mysql_query("select * from user_uploads where album = '$album_name' ");
while($row=mysql_fetch_array($result))
{
?>
<img src="<?php echo $row['image_name']; ?>" height="140" width="140" /> 
<input type="text" name="des[]" value="<?php echo $row['image_description']; ?>" placeholder="Image Description Here"/>
<input type="text" name="id[]" value="<?php echo $row['id']; ?>" placeholder="Image Description Here"/>

<?php } ?>
<input type="submit" name="submit" value="Upload Album"/>

但是现在当我想更新数据库中的记录时,它会使用最后一个输入字段的值将所有记录更新到表中。这是php代码。

  <?php 
if(IsSet($_POST["submit"]))
{
     $album = $_POST["album"];
             $des=$_POST["des"];
    foreach($_POST['id'] as $id)
    {

$update_qry = "update user_uploads set album='$album', image_description='$des' where id = '$id' ";

     $result_update_image = mysql_query($update_qry);
  if (!$result_update_image) 
  {
            header("location:create_album.php?errmsg=Album Not Updated");
        }



        }

    }
    }
 ?>

但我不知道如何根据 id 获取 des 表单数组的所有值以在表中更新。

4

2 回答 2

2

像这样更改代码并检查。

   $i=0;
    $des=$_POST["des"];
    foreach($_POST['id'] as $id)
        {

          $update_qry = "update user_uploads set album='".$album."', image_description='".$des[$i]."' where id = '".$id."' ";

         $result_update_image = mysql_query($update_qry);
    $i++;
    }
于 2013-11-11T12:57:10.027 回答
1

尝试这个

<input type="text" name="des[]" value="<?php echo $row['image_description']; ?>" placeholder="Image Description Here"/>

我已更改名称。

于 2013-11-11T08:54:04.190 回答