Php 通过页面传递ID

Php 通过页面传递ID,php,Php,我正试图通过页面传递ID。 我使用的是table,每一行都有一个按钮有一个ID,但当我传递它时,它只将最后一个ID输入数据库,它看不到我单击的内容 用于传入第一页的代码 <?php foreach($prob_list as $row){?> <tr> <th> <label><?php echo $row['name']; ?></

我正试图通过页面传递ID。 我使用的是table,每一行都有一个按钮有一个ID,但当我传递它时,它只将最后一个ID输入数据库,它看不到我单击的内容

用于传入第一页的代码

 <?php foreach($prob_list as $row){?>
            <tr>
                <th>
                    <label><?php echo $row['name']; ?></label>
                </th>

                <td>
                    <label><?php echo $row['extno']; ?></label>
                </td>

                 <td>
                    <label><?php echo $row['department']; ?></label>
                </td>

                <td>
                     <label><?php echo $row['problem']; ?></label>
                     <label><?php echo $row['program']; ?></label>
                     <label><?php echo $row['another'];?></label>
                </td>

                <td>
                     <input type="hidden" name="status" id="status" value="<?php echo $row['ID']; ?>"/>
                     <input  type="submit" class="done" name="done" value="Done">

                </td>

            </tr>

我认为问题在于,您是在循环中这样做的,因此您需要反复使用
name=“status”
设置隐藏字段。当您发送表单时,您会发送最后一个设置的值。在这种情况下,必须使用数组表示法

<input type="hidden" name="status[<?php echo $row['ID']; ?>]" id="status" value="<?php echo $row['ID']; ?>"/>

我认为问题在于,您是在循环中这样做的,因此您需要反复使用
name=“status”
设置隐藏字段。当您发送表单时,您会发送最后一个设置的值。在这种情况下,必须使用数组表示法

<input type="hidden" name="status[<?php echo $row['ID']; ?>]" id="status" value="<?php echo $row['ID']; ?>"/>

我猜您的所有
prob
行都只有一个
标记,这就是为什么浏览器使用名为
status
的最后一个
输入
,它显然将包含您在数据库中插入的最后一个ID值,并将其发送到PHP应用程序

您需要做的是用一个表单标签包装最后一个
的输入



我猜您的所有
prob
行都只有一个
标记,这就是为什么浏览器使用名为
status
的最后一个
输入
,它显然将包含您在数据库中插入的最后一个ID值,并将其发送到PHP应用程序

您需要做的是用一个表单标签包装最后一个
的输入



你的意思是我应该为按钮设置表单内部表单?否。删除包装您的foreach的表单标签你的意思是我应该为按钮设置表单内部表单?否。删除包装您的foreach的表单标签
foreach($_POST['status'] as $key => $value) {
    // something like this
}