我正在尝试执行更新查询..首先我使用href将id传递给下一页。它没有工作..现在我使用隐藏字段将id传递给下一页..这里的问题是它返回了while循环已经获取的最后一个id ..Plz帮助我,我是一个新手,我一整天都坚持这一点。谢谢你提前..
<html>
<body bgcolor="skyblue">
<form method= "post" enctype="multipart/form-data" action="upd.php">
<table align="center" width="795" border="2" bgcolor="#CCC">
<?php
$i=0;
$sel="select * from video";
$sel_query=mysqli_query($con, $sel);
while($row=mysqli_fetch_array($sel_query)){
$i++;
$var_id=$row['v_id'];
$var=$row['video'];
?>
<tr align="center">
<td align="right">
<br>
<h2>Upadte Video <?php echo $i; ?> Link: </h2>
<input type="hidden" name="hidden_id" value="<?php echo
$var_id; ?>" />
<button type="submit" name="btn">
Update
</button>
<td align="left"><br><textarea name="vids" rows="4" cols="50"><?php echo $var; ?>"</textarea></td>
</td>
</tr>
<?php
}
?>
</table>
</form>
udp.php
<?php
include ("includes/db.php");
if(isset($_POST['btn'])){
$id=$_POST['hidden_id'];
echo $id;}
答案 0 :(得分:0)
您的循环正在运行并生成以下两个HTML字段:
<input type="hidden" name="hidden_id" value="<?php echo $var_id; ?>" />
<textarea name="vids" rows="4" cols="50"><?php echo $var; ?>"</textarea>
但是,由于他们的名字是普通字符串,所以只有最后一个字符串覆盖。
你需要在循环中引用id。
<input type="hidden" name="hidden_id[<?php echo $var_id;?>]" value="<?php echo $var_id;?>" />
<textarea name="vids<?php echo $var_id;?>" rows="4" cols="50"><?php echo $var; ?>"</textarea>
在$ _POST中,
发布变量的循环数组:
if (! empty($_POST)) {
foreach ($_POST['hidden_id'] as $id => $val) {
$textareaVal = $_POST['vids'][$id];
// Apply your logic on database operations, etc...
}
}