伙计们直到获得以下形式的表格,我的应用程序才能正常运行。我在此表中有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/

10-14 13:48
查看更多