<td>
<form action="del.php" method="POST">
<?php foreach($jk as $item) {
echo"<input type='hidden' name='id' value='".$item['emc_id']."'>";
}
?>
<input type="submit" name="downld" value="DELETE" >
</form>
</td>
正如您所看到的,我使用隐藏但在del.php中传递值。我收到了 4 。我的数据库中有4个数据但是当我点击rowid-1
rowid-2
和任何其他ID时,我总是得到一个id-4。我希望每当我点击DELETE按钮时,都应删除相应的ID。
答案 0 :(得分:2)
<html xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel">
<html>
<head>
WELCOME <?=$_SESSION['user']?></br>
<a href="logout.php" >log-out</a></br>
<title> emc promo 1</title>
<meta http-equiv="Content-type" content="text/html;charset=utf-8" />
</head>
<body>
<b>the total no rows are :</b><?=$g?>
<table cellpadding="5" border="1" style="width:450px;"><tr>
<?php for ($i=0; $i < count($colnames); $i++) { ?>
<td><?=$colnames[$i]?></td>
<?php }?>
<td>DELETE</td>
<td>EDIT</td>
</tr>
<?php for ($i=0; $i < count($jk); $i++) { ?>
<tr>
<?php for ($ii=0; $ii < count($colnames); $ii++) {?>
<td><?=$jk[$i][$colnames[$ii]]?></td>
<?php }?>
<td><form action="del.php" method="POST">
<input type='hidden' name='id' value= <?php echo $jk[$i];?>>
<input type="submit" name="downld" value="DELETE" >
</form></td>
<td><form action="edit.php" method="POST">
<input type="hidden" name="id1" value="<?=$jk['$i'];?>">
<input type="submit" name="downld" value="UPDATE " >
</form></td>
</tr>
<?php } ?>
</table>
</body>
</html>
我得到了答案,现在我传递了所有列值,以便我可以在删除和编辑时进行检查
答案 1 :(得分:1)
你想要实现什么目标?您想一次删除一行还是多行?你现在正在做的是动态创建隐藏的框,但是隐藏字段的名称是相同的,所以当浏览器渲染它时会创建四个文本框,如:: -
<input type="hidden" name="id" value="1" />
<input type="hidden" name="id" value="2" />
<input type="hidden" name="id" value="3" />
<input type="hidden" name="id" value="4" />
现在,当您发布表单时,您将获得最后一个值。因此,您将始终获得4.如果您尝试删除单个记录,请使用paw建议的方法。如果你想要删除多个记录,请使用每行前面的复选框,并确保使用类似于符号的数组来表示名称,如name =“foo []”
答案 2 :(得分:0)
您应该在您的行中附加一个ID:在foreach
echo "<a href="delete.php?id=". $row['id']>Delete</a>"
每当用户点击链接删除时,ID都会被传递到php脚本中,您将$_GET
通过id
并拥有delete query
使用id
我希望这有帮助。