我想更新数据库中的字段。这里是我从数据库中获取记录并以表格形式显示的代码。
<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 form数组的所有值更新到表中。
答案 0 :(得分: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++;
}
答案 1 :(得分:1)
试试这个
<input type="text" name="des[]" value="<?php echo $row['image_description']; ?>" placeholder="Image Description Here"/>
我改了名字。