【问题标题】:PHP Loop through form valuesPHP 循环遍历表单值
【发布时间】:2014-01-16 16:58:35
【问题描述】:

我有一个表单,它提交了许多我需要循环并执行操作的小字段。

表格如下所示:

<input class="" type="hidden" name="pid" value="10">
<input class="" type="hidden" name="date" value="01-01-2014">

然后大约 100 - 200 个...

<input class="minnight" type="text" name="minnight_12_2014-03-06" value="2" size="1">
<input class="minnight" type="text" name="minnight_12_2014-03-07" value="2" size="1">
<input class="minnight" type="text" name="minnight_12_2014-03-08" value="1" size="1">
<input class="minnight" type="text" name="minnight_13_2014-03-06" value="3" size="1">
<input class="minnight" type="text" name="minnight_13_2014-03-07" value="2" size="1">
<input class="minnight" type="text" name="minnight_13_2014-03-08" value="4" size="1">
<input class="minnight" type="text" name="minnight_14_2014-03-06" value="1" size="1">
<input class="minnight" type="text" name="minnight_14_2014-03-07" value="2" size="1">
<input class="minnight" type="text" name="minnight_14_2014-03-08" value="2" size="1">

提交表单时,我需要遍历每个“minnight”字段,将“12_2014-03-06”提取为“12”和“2014-03-06”,将它们都存储在vars中,最后做移动到下一个之前的数据库查询。

任何关于我应该从哪里开始的指针?

【问题讨论】:

  • 是的。从自己尝试一些东西开始,然后发布代码。
  • 看看foreach,br2.php.net/manual/en/control-structures.foreach.php ...然后从key中提取你需要的数据
  • 到目前为止你尝试过什么代码? Stackoverflow 不是让社区告诉你如何编码,而是教你如何编码。

标签: php forms loops foreach


【解决方案1】:

研究explode()POST variables的使用。

尝试以下方式:

// Loop over each item in the form.
foreach($_POST as $name => $value) {
    // Split the name into an array on each underscore.
    $splitString = explode("_", $name);

    // If the data begins with "minnight", use it.
    if ($splitString[0] == "minnight") {
        // Set the other desired values into variables.
        $secondValue = $splitString[1];
        $thirdValue= $splitString[2];

        // Database query goes here.
    }
}

【讨论】:

  • 看起来很完美。我刚刚想出了一个讨厌的 preg_match 循环,但你的看起来更干净!
【解决方案2】:

您可以遍历 $_POST 并读取值:http://www.php.net/manual/en/reserved.variables.post.php

foreach($_POST as $key =>$value){
    // do something using key and value
}

【讨论】:

    【解决方案3】:

    【讨论】:

      猜你喜欢
      • 2019-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多