只有html表的最后一行数据正在控制器中发布

时间:2017-11-03 05:35:44

标签: php html

我正在创建像这样的HTML表格行

    <?php foreach($products as $key=>$val) { ?>
            <tr class="tr_entry">
            <td><input class="input_entry" id="no" name="no" type="text"></td>
                <td>
                    <select id = "stage" name="stage">
                        <option value="1">01</option>
                        <option value="2">02</option>
                    </select>
                </td>
</tr>
    <?php } ?>

并使用&#34; post&#34;将此表单发布到控制器中方法。在控制器中我正在使用这个

print_r($_POST);exit;

但我只得到最后一行表格的数据。需要帮助。

1 个答案:

答案 0 :(得分:0)

对于for循环的所有迭代,输入的名称都是相同的。对于for循环的每次迭代,旧值都被新值替换,所以 在循环结束时,您将获得表格最后一个tr的值。

使用以下代码获取表单中的所有输入。

<?php foreach($products as $key=>$val) { ?>
            <tr class="tr_entry">
            <td><input class="input_entry" id="no" name="no<?php echo $key ?>" type="text"></td>
                <td>
                    <select id = "stage" name="stage<?php echo $key ?>">
                        <option value="1">01</option>
                        <option value="2">02</option>
                    </select>
                </td>
</tr>
    <?php } ?>