PHP循环表单值

mat*_*ltm -2 php forms foreach loops

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

表单如下所示:

<input class="" type="hidden" name="pid" value="10">
<input class="" type="hidden" name="date" value="01-01-2014">
Run Code Online (Sandbox Code Playgroud)

然后大约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">
Run Code Online (Sandbox Code Playgroud)

提交表单时,我需要遍历每个"minnight"字段,将"12_2014-03-06"解压缩为"12"和"2014-03-06",将它们存储在变量中,最后进行数据库查询然后转到下一个.

关于我应该从这个混乱开始的地方的任何指针?

Rob*_*obF 6

查看explode()POST变量的使用.

尝试以下方面的事情:

// 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.
    }
}
Run Code Online (Sandbox Code Playgroud)