使用相同的输入名称

时间:2017-05-26 21:08:00

标签: php

我正在尝试使用隐藏输入POST多个值。但现在的问题是,如果我发布一个值,所有输入都将被发布。问题是输入是在foreach中动态创建的,具有相同的名称....

DATABASE CONNECTION .. .. .. ... AND QUERY

foreach ($key as $value){
    echo "<input type='hidden' name='create[]' 
    value=" .$value['NumberID'] .">

   <input type='submit' name='store'>"
    }

    if(isset($_POST['create'])){
      $NumberID = $_POST['create'];
      print_r($NumberID);
    }

php创建了5种输入类型。但隐藏的输入值都是由numberID唯一的。所以我的问题是可以选择逐个发布多个值。

有人告诉我一个简单的for循环?但我没有得到这个原因我已经预见到了它??

我希望很快能听到你们的意见并感谢你的帮助。)

2 个答案:

答案 0 :(得分:1)

使用计数器怎么样?

$n = 1;
foreach ($key as $value){
echo "<input type='hidden' name='create$n' value=" .$value['NumberID'] .">"
...
$n++:
}

或者你是字符串创建一个名字=&#39;创建&#39;值=&#39; (val1),(val2),(val3)......&#39; ?

如果是这样,你的foreach应该构建那个1个concat-string,然后foreach执行一个名为name和value = concat-string的回显。

答案 1 :(得分:0)

您不需要隐藏的输入来执行此操作。您可以使用<button>代替<input>,并将ID作为其值传递。

<?php foreach ($key as $value): ?>
    <button type="submit" name="create" value="<?= $value['NumberID'] ?>">
        store
    </button>
<?php endforeach; ?>

$_POST['create']将是您点击的按钮的NumberID。