2012-03-06 13 views
0

У меня есть форма с переменным количеством входов. Входы находятся внутри таблицы, и мне нужно получить три значения из них: строку, столбец и фактическое значение внутри ввода.Динамическая многомерная почтовая форма

Некоторые могут быть заполнены, некоторые из них могут отсутствовать, и мне нужны все их значения, чтобы обновить mysql db (строка и столбец, чтобы знать, что нужно обновлять, значение, чтобы знать новое значение для вставки в базу данных).

Это моя форма (пример версия этого):

<form method="post" action=""> 
     <input name="data[111][222]" value="2" /> 
     <input name="data[112][221]" value="0" /> 
     <input name="data[113][223]" value="4" /> 
     //goes on 
     <input name="data[324][435]" value="11" /> 
     <input name="data[325][436]" value="" /> 
</form> 

И это, насколько я иду. Как я могу получить данные из этой формы, так что я могу сделать простое обновление в моей базе данных, которая идет как это (для всех пострадавших входов):

update table set res="value_from_input" where row="row_value" and col="col_value" 
+0

Сообщения выход 'var_export ($ _REQUEST ['data']); 'и исправить свой HTML () –

+0

Что вы понимаете под этим исправлением? –

+0

Как я уже указывал в своем первоначальном комментарии, есть цитата отсутствует ine каждый тег - атрибут name не имеет закрывающей цитаты. –

ответ

2
<form method="post" action=""> 
     <input name="data[111][222]" value="2" /> 
     <input name="data[112][221]" value="0" /> 
     <input name="data[113][223]" value="4" /> 
     <input name="data[324][435]" value="11" /> 
     <input name="data[325][436]" value="" /> 
     <input type="submit" /> 
</form> 
<?php 
foreach ($_POST['data'] as $k1 => $v1) 
{ 
    foreach ($v1 as $k2 => $v2) 
    { 
     echo "<p>k1:".$k1."; k2: ".$k2."; value: ".$v2."</p>"; 
     $query = "update table set res='$v2' where row='$k1' and col='$k2'"; 
     mysql_query($query); 
    } 
} 
?> 
0
foreach($_POST['data'] as $row => $row_array) 
{ 
    foreach($row_array as $col => $value) 
    { 
     // Sanitize all input data before entry 
     $mysql = "UPDATE table SET res='$value' WHERE row='$row' AND col='$col'"; 
    } 
} 
Смежные вопросы