我有一个包含可变数量输入的表单。输入在表格内部,我需要从中获取三个值:行,列和输入中的实际值。
有些可能会填充一些可能没有,我需要所有值来更新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 :(得分: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'";
}
}