Php 表单仅发送表单中的最后一行,而不发送所选行

Php 表单仅发送表单中的最后一行,而不发送所选行,php,Php,我有一个表,其中表中的每一行都有一个按钮,允许您从数据库中删除该特定行。虽然我的表单只提交最后一行,而没有提交我选择的那一行。请忽略不推荐使用的标记,并充分了解这些问题 <?php $result = mysql_query("SELECT * FROM booking"); while($row = mysql_fetch_array($result)) {

我有一个表,其中表中的每一行都有一个按钮,允许您从数据库中删除该特定行。虽然我的表单只提交最后一行,而没有提交我选择的那一行。请忽略不推荐使用的标记,并充分了解这些问题

<?php
                $result = mysql_query("SELECT * FROM booking");

                while($row = mysql_fetch_array($result))
                {

                ?>

                <form class='table-form' id='form' method='post'>

                    <tr>

                    <input id="bookid" type="hidden" name="bookid" value="<?php echo ($row['booking_id']); ?>" />

                    <td>

                    <?php echo ($row['booking_id']);?>

                    </td>
                    <td>
                        <?php echo ($row['user_id']); ?>
                    </td>
                    <td>
                        <?php echo ($row['event_id']); ?>
                    </td>
                    <td>
                        <?php echo ($row['payment_type']); ?>
                    </td>
                    <td>
                        <?php echo ($row['booking_date']); ?>
                    </td>
                        <center><button type="submit" id="submit" name="submit">Cancel</button><center>
                    <td>
                    </td>
                </tr>




                <?php
                }
                ?>


                </form>

            </table>
        </div>

        <?php


            if (isset($_POST['bookid'])){

                $id =  ($_POST['bookid']);

                $result = mysql_query("DELETE FROM booking
                WHERE booking_id = '$id'");

        }
?>


如果以这种方式预先输入编程,请将
移到上面

<?php
}
?>

(循环车身)


您的代码需要大量清理、样式清理和html验证:-P

尽管我的按钮和表格都放错了地方,但这种方法还是有效的。我知道我的代码很糟糕,当然,在我清理之前,我只需要做一些基本的工作。你不能把表格放在桌子对面。仅使用表上方的一个表单标记。