2014-01-16 4 views
-2

У меня есть форма, которая представляет множество небольших полей, которые мне нужно выполнить, и выполнить действия.PHP Петля через значения формы

форма выглядит следующим образом:

<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, так и, наконец, выполните запрос базы данных, прежде чем переходить к следующему.

Любые указатели на то, где я должен начать с этого беспорядка?

+1

Да. Начните с того, что попробуйте что-то самостоятельно, а затем опубликуйте код. – Leonardo

+0

взгляните на foreach, http://br2.php.net/manual/en/control-structures.foreach.php ... затем извлеките нужные данные из ключа – Lefsler

+0

Какой код вы пробовали? Stackoverflow не для сообщества, чтобы рассказать вам, как кодировать, но научить вас, как кодировать. – Enijar

ответ

5

Посмотрите на использование 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. 
    } 
} 
+0

Выглядит префект. Я просто придумал неприятный цикл preg_match, но ваш выглядит намного чище! – mattltm

Смежные вопросы