我有一个窗体,显示从数据库中拉出的数据。有几列正在为表单拉取。形式的基本结构是这样的:PHP的MySQL - 一次更新多行
<form>
<input type="checkbox" name="check" value="$value" checked="$valueCheck" /> $label - $editedBy @ $editedDate
<input type="checkbox" name="check" value="$value" checked="$valueCheck" /> $label - $editedBy @ $editedDate
<input type="checkbox" name="check" value="$value" checked="$valueCheck" /> $label - $editedBy @ $editedDate
<input type="checkbox" name="check" value="$value" checked="$valueCheck" /> $label - $editedBy @ $editedDate
<input type="checkbox" name="check" value="$value" checked="$valueCheck" /> $label - $editedBy @ $editedDate
<input type="submit" name="update" value="Update Checklist" />
</form>
所有的变量动态填充时,从数据库中的数据的页面加载。这是我的问题...每个输入和相应的数据都是从“清单”表中的一行中提取的。所以,在上面的例子中,您将查看数据库中5行的数据。当我勾选一个框并单击提交时,我希望它将该复选框提交给数据库,作为true或false的值,具体取决于该框是否已选中或未选中。如果我只提交一行,我知道该怎么做;然而,我不知道如何做到这一点与多行。我假设我将不得不使用一些类型的循环与我的UPDATE
查询。
完成此操作的最佳方法是什么?谢谢你的帮助!如果您有任何问题,请告诉我。对不起,如果不能很好地解释我的情况。
您可能希望让我们知道一些事情,什么是$值,这是什么平等的吗?另外,您需要在这些复选框中添加名称属性,以便引用它们。此外,您需要为您的表单标签添加一个动作和方法属性,以便它知道在哪里处理信息以及以何种方式。 – linus72982 2011-04-11 01:35:56
正如linus72982所说:“另外,您需要在这些复选框中添加一个名称属性,以便引用它们。” 'name'属性将是最重要的,它允许您将表单输入重新绑定到您想要的数据库记录。表单输入的名称和值是唯一返回到PHP的东西(不包括文件)。你当然可以以数组的形式命名每个输入(参见:http://php.net/manual/en/language.variables.external.php)... – 2011-04-11 01:40:26
谢谢你们......但是,我确实有在实际表单中所有正确的表单属性...我只是没有把它们放在示例中,因为它们不是这个示例所需要的。是的,输入字段也具有名称属性。我将更新示例代码以反映名称,我的$ value等于true或false,取决于框是否已选中或未选中。我更想弄清楚这个表格的发布部分......而不是表格本身。我只是将值传递给post.php,后者将值发布到数据库。 – RyanPitts 2011-04-11 01:45:32