2012-03-06 5 views
0

私はさまざまな入力数のフォームを持っています。入力はテーブル内にあり、入力から3つの値を取る必要があります:行、列、および入力内の実際の値。動的多次元郵便書式

いくつかの値が設定されていない可能性があります。私は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

元のコメントで指摘したように、タグごとに引用符がありません - 名前属性には引用符がありません。 –

答えて

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