伙计们直到获得以下形式的表格,我的应用程序才能正常运行。我在此表中有2个项目,ID为“ 1”和“ 2”。即使我在“ 1” ID项目上按“提交”,它也会每次打印“ 2”。有谁知道这可能是什么问题吗?谢谢。
<form method="POST">
<?php
$query = "SELECT * FROM table";
while($row = $query->fetch_array())
{
$id = $row['id'];
?>
<input type="hidden" name="id" value="<?php echo $id; ?>" >
<input type="submit" name="submit">
<?php } ?>
</form>
<?php
if(isset($_POST['submit']))
{
echo $_POST['id'];
}
?>
最佳答案
您将以相同的名称将两个项目输出为相同的形式。当您单击Submit按钮时,它将基于name属性收集表单中的所有字段,并将其发送到发布表单的任何位置。
如果您希望有一个按钮使用一个单独的按钮提交每个ID,那么您希望尝试为每个ID创建一个新表单。还有其他方法可以执行此操作,但是根据您当前的代码,尝试执行以下操作:
<?php
$query = "SELECT * FROM table";
while($row = $query->fetch_array())
{
$id = $row['id'];
?>
<form method="POST">
<input type="hidden" name="id" value="<?php echo $id; ?>" >
<input type="submit" name="submit">
</form>
<?php } ?>
<?php
if(isset($_POST['submit']))
{
echo $_POST['id'];
}
?>
关于php - 使用PHP,MySQL和HTML的表单错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42379816/