获取ID并循环发布数据

时间:2013-09-24 16:42:12

标签: php post

我在结尾处发布了一个具有相同输入名称+ id的表单:

<input type="text" name="machine_1">
<input type="text" name="machine_11">
<input type="text" name="machine_23">

如何在每个循环上循环并获取循环中的id?

我试过这种方式,但它会循环很多而没有任何数据,如果有更多的感谢100 id会发生什么?

for($i=0; $i<100; $i++){

$_POST["machine"]=$_POST["machine_".$i];

$id=$i;

}

4 个答案:

答案 0 :(得分:1)

POST是一个关联数组,因此您可以遍历已发布的所有内容,如下所示:

//$k contains the id
//$v contains the submitted value
foreach($_POST as $k => $v) {
    //test if id contains 'machine'
    if(stristr($k, 'machine')) {
        echo $v;
    }

}

答案 1 :(得分:0)

您可以使用foreach循环执行此操作,如下所示:

foreach($_POST as $key => $value) {
  echo "POST parameter '$key' has '$value';
}

答案 2 :(得分:0)

在您的代码中,您有:

$_POST["machine"]=$_POST["machine_".$i];

这不是正确的方法。您希望将$_POST["machine_".$i]的值存储到$id,然后在下面使用它。

这可能就是你所需要的:

for($i=1; $i<100; $i++){
    $id = $_POST["machine_".$i]; 
    echo $id;
}

如果有超过100个元素,并且您不知道输入的数量,那么您可以使用foreach循环,如下所示:

$i = 1; // counter variable
foreach ($_POST as $key => $input) {
    if($key == "machine_".$i) {
        $id = $input; // or simply 'echo $input'
        echo $id;
    }
    $i++; // increment counter
}

答案 3 :(得分:0)

$_POST["machine"]=$_POST["machine_".$i];

这里$ _POST ['machine']表示注意..如何为$ _POST ['machine']分配一个值..你还没有在提交表单时传递任何名为 machine 的元素..首先,你需要检查它