动态多维表格

时间:2012-03-06 21:28:04

标签: php

我有一个包含可变数量输入的表单。输入在表格内部,我需要从中获取三个值:行,列和输入中的实际值。

有些可能会填充一些可能没有,我需要所有值来更新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"

2 个答案:

答案 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);
    }
}
?>

答案 1 :(得分: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'";
   }
}