2012-03-06 50 views
0

我有一個可變數量輸入的表單。輸入在表格內,我需要從它們中獲取三個值:輸入中的行,列和實際值。動態多維帖子表格

一些可能會填充一些可能不需要,我需要他們所有的值來更新MySQL數據庫(行和列知道要更新,值知道插入數據庫中的新值)。

這是我的表(它的實例版本):

<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() – 2012-03-06 21:32:17

+0

你是什麼意思? – 2012-03-07 09:31:10

+0

正如我在我原來的評論中指出的那樣,每個標籤都有一個缺少標籤的報價 - name屬性沒有結尾報價。 – 2012-03-07 10:02:52

回答

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'"; 
    } 
}