使用php通过页面传递ID

时间:2019-06-29 22:28:06

标签: php

我正在尝试通过页面传递ID。 我正在使用表格,每行中都有一个带有ID的按钮,但是当我通过它时,它仅将最后一个ID输入到数据库中,却看不到我在点击什么

第一页传递的代码

<div class="featuredImageBox" runat="server">
        <img class="center-fit" src="~/@Model.Owner/min/@Model.Featured1A"  data-src="~/@Model.Owner/@Model.HomeFeatured1A"/>
    </div>

另一页的代码

 <?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>

2 个答案:

答案 0 :(得分:0)

我认为问题在于,您需要循环执行此操作,因此您一次又一次地使用name="status"设置隐藏字段。当您发送表格时,您将发送设置的最后一个值。在这种情况下,您必须使用数组符号。

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

然后,您将构建一个状态字段数组。您可以在PHP代码中阅读。

foreach($_POST['status'] as $key => $value) {
    // something like this
}

答案 1 :(得分:0)

我想您的所有<form>行都只有一个prob标签,这就是为什么浏览器使用名称为input的最后一个status的原因将包含您在数据库中插入的最后一个ID的值,并将其发送到PHP应用程序。

您需要做的是用表单标签包装最后<td></td>个输入。

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

                <td>
                    <label><?= $row['extno'] ?></label>
                </td>

                 <td>
                    <label><?= $row['department'] ?></label>
                </td>

                <td>
                     <label><?= $row['problem'] ?></label>
                     <label><?=$row['program'] ?></label>
                     <label><?= $row['another'] ?></label>
                </td>

                <td>
                    <form action="your_action" method="your_method">
                      <input type="hidden" name="status" id="status" value="<?= $row['ID'] ?>"/>
                      <input  type="submit" class="done" name="done" value="Done">
                    </form>
               </td>

            </tr>
<?php } ?>