我正在尝试创建一个显示多个用户数据的表。然后可以编辑和更新表格中的数据。下面是表单布局方式的示例:
echo "<form action=AdminUpdateLecInfo.php method=post>";
while ($return = mysql_fetch_assoc($result)) {
$phonenumber = "$return[PhoneNumber]";
$number = str_pad($phonenumber, 11, "0", STR_PAD_LEFT);
echo " <tr class='data'>
<input type='hidden' name='id'".$return['ID']."'' value= '".$return['ID']."' />
<td class = 'title'><input class = 'title' type='text' name='title'".$return['ID']."'' value= '".$return['Title']."' /></td>
}
echo "</table>
<input class='submit' type='submit' value='Update Info' />
</form>
创建表后,信息将传递给“update.php”脚本。
$sql="UPDATE completeinfo SET Title='".$_POST['title'][$return['ID']]."'
WHERE ID = '".$_POST['id'][$return['ID']]."'";
header("Location:Home.html");
我遇到的问题是我需要在每个输入字段的名称中添加'“。$ return ['ID']。”',以便不是所有用户的详细信息都使用相同的值进行更新。我不确定是否需要在此查询周围应用foreach循环,以便它适用于每个用户并更新其详细信息。目前,更新查询无法正常工作,因为post方法没有正确地从表单中获取值。
答案 0 :(得分:0)
您的问题是您的字段的名称,请使用:
$return_id = $return['ID'];
echo "
<tr class='data'>
<td class = 'title'>
<input type='hidden' name='id$return_id' value='$return_id' />
<input class='title' type='text' name='title$return_id' value='$return_id' />
</td>
</tr>";
在进行mysql更新之前,执行var_dump($_POST);
,您将看到HTTP POST参数的内容,以便您可以查看它们是什么以及如何在查询中使用它们。
答案 1 :(得分:0)
您必须使用文本字段的名称作为数组,以便迭代数组
name='title'".$return['ID']."'
name='id'".$return['ID']."'