所以我创建了一个管理页面,根据我们在数据库中拥有多少用户创建X-number表单,每个用户旁边都有一个提交按钮,用于提交我们在DB中的日期更改。我的问题是,当我想获得发布内容的价值时,我无法从发布的内容中提取出我需要的内容。它被保存到一个被调用的数组中,当我print_r数组时,我得到了我想要的,这就是:
[1] => "whatever date they typed in"
(obviously the 1 changes depending on which item they changed the date of)
我需要能够通过以下方式查询我的数据库:
UPDATE users SET subdate="whatever they typed in" WHERE id="the array reference number"
我确切地知道我需要做什么,我只是不熟悉SQL,所以任何帮助都会非常感激。提前谢谢。
参考代码:
<div class="form-section grid12" id="changedates">
<h1>Change Dates</h1>
<?php
$query = mysql_query("SELECT * FROM users WHERE admin='y'");
?>
<table>
<?php
while($row = mysql_fetch_assoc($query)) {
?>
<tr>
<td>
<h5><?php echo $row['displayname'];?></h5>
</td>
<td>
<form action="" method="POST">
<input type="text" name="subdate[<? echo $row['id'] ?>]" value="<?php echo $row['submissiondate'];?>">
<input type="text" name="nextupdate[<? echo $row['id'] ?>]" value="<?php echo $row['nextupdate'];?>">
</td>
<td>
<input type="submit" value="Set Date" name="setdate">
</form>
</td>
<?php
}
?>
</table>
</div>
答案 0 :(得分:0)
你可以使用foreach ......
foreach ($_POST[nextupdate] as $rowId => $time)
{
// do db update
}
编辑:刚认识到每个表单有多个输入。
为什么不用数组名称命名每个输入:
<input type="text" name="form_data[<?= $row_id ?>][subdate]">
<input type="text" name="form_data[<?= $row_id ?>][nextupdate]">
在PHP中:
foreach ($_POST[form_data] as $rowId => $values)
{
$subdate = $values[subdate];
$nextupdate = $values[nextupdate];
// do SQL stuff
}