PHP - 通过$ _POST检索隐藏输入在其他几个之间的值

时间:2015-06-11 01:10:49

标签: php html get submit

我有tableforeach循环中,每次迭代隐藏input都会从数据库中接收ID。我的表在每列中都有一个input字段,因为我想在表格中编辑数据库中的数据,为了实现这一点,我必须在点击检索时提交一个提交button隐藏input中的ID到另一个然后执行操作的文件。

<form action="../php/Operations.php" method="post">
//...
<?php foreach ($Service->select() as $col) { ?>
<input type="hidden" value="<?php echo $col["id"]; ?>" name="id"/>
//...

问题是$_POST值始终是表中的第一个,因为 n 隐藏input具有相同的名称。

我想知道是否有办法从点击的行中检索隐藏的input值,但请记住我没有使用$_GET,而是提交{{ 1}},

button

单击时,用来执行我写的代码:

<button type="submit" name="submit" value="update" class="btn_action">Editar</button>

谢谢。

3 个答案:

答案 0 :(得分:1)

如果您想要多个具有相同名称的输入,请使用name="id[]"作为输入名称属性。然后,$_POST将包含一个名称数组,其中包含输入元素的所有值。然后你可以遍历这个数组。

示例:

<form method="post">
    <input type="hidden" name="id[]" value="foo"/>
    <input type="hidden" name="id[]" value="bar"/>
    <input type="hidden" name="id[]" value="baz"/>
    <input type="submit" />
</form>

PHP

$ids= $_POST['id'];
print_r($ids);

编辑:您可以像这样更改代码,以便每个提交按钮都与name="id"的一个隐藏输入相关联。

<?php foreach ($Service->select() as $col) { ?>
    <form action="../php/Operations.php" method="post">
    <input type="hidden" value="<?php echo $col["id"]; ?>" name="id"/>
    <button type="submit" name="submit" value="update" class="btn_action">Editar</button>
    </form>
<?php } ?>

呈现HTML:

<form action="../php/Operations.php" method="post"><input type="hidden" value="1234" name="id"/><button type="submit" name="submit" value="update" class="btn_action">Editar</button></form>
<form action="../php/Operations.php" method="post"><input type="hidden" value="5678" name="id"/><button type="submit" name="submit" value="update" class="btn_action">Editar</button></form>
<form action="../php/Operations.php" method="post"><input type="hidden" value="9101112" name="id"/><button type="submit" name="submit" value="update" class="btn_action">Editar</button></form>

答案 1 :(得分:0)

将每个col包装在一个单独的表单中,每个col都有一个单独的提交按钮,或者将name属性设置为一个数组。即name="id[<?php echo htmlspecialchars($id); ?>"

答案 2 :(得分:0)

我建议您使用ajax提交数据

只需为按钮创建一个点击事件,然后获取按钮ID

在您的htm表单中

创建一个像这样的id属性

<input type="hidden" id="colId<?php echo $col["id"]; ?>" value="<?php echo $col["id"]; ?>" />

,您的按钮应如下所示

<button class="buttonSubmit" id="<?php echo $col["id"]; ?>" >Submit</button>
$(".buttonSubmit").click(function(){
   var id = $(this).attr("id");
   var hiddeninput = $("colId"+id).val();
   // here you can process how would you send the data to a php file 
});