我有一个是由一些字段都是布尔型,所以在我的HTML表单我所做的输入类型设置为复选框,我想打,如果检查由数据库=“ True“, uncheck =”false“。
我如何存档? 现在,如果我检查他们,我看到一个0,如果我不检查我什么也没有看到。 我试图把隐藏的领域和工作,但没有得到任何结果。HTML表单提交复选框 - 改变MySQL表值
如果你需要编写代码或打印屏幕,以便更好地理解这个问题,请告诉我。 谢谢。
我有一个是由一些字段都是布尔型,所以在我的HTML表单我所做的输入类型设置为复选框,我想打,如果检查由数据库=“ True“, uncheck =”false“。
我如何存档? 现在,如果我检查他们,我看到一个0,如果我不检查我什么也没有看到。 我试图把隐藏的领域和工作,但没有得到任何结果。HTML表单提交复选框 - 改变MySQL表值
如果你需要编写代码或打印屏幕,以便更好地理解这个问题,请告诉我。 谢谢。
这就是复选框,输入默认的行为:如果参数 “价值”
所以,如果你有这样的:
<input type="checkbox" value="TRUE" name="my_checkbox" />
在PHP中,你可以这样做:
if (isset($_POST["my_checkbox"])) {
echo "checkbox is checked";
} else {
echo "checkbox not checked";
}
如果你想即使绝对才能发布内容如您所说,您可以使用隐藏字段,如下所示:
<input type="checkbox" value="TRUE" name="my_checkbox_1" />
<input type="hidden" value="my_checkbox_1,my_checkbox_2,my_checkbox_3" name="my_checkboxes" />
隐藏字段“my_checkboxes”将包含表单中所有复选框的所有名称。
然后,您可以采取的$ _ POST [“my_checkboxes”]的值,拆分通过所有的复选框中的它的值(用“”),以及循环:
$checkboxes = explode(",", $_POST['my_checkboxes']);
foreach($checkboxes as $checkbox) {
$checkbox_value = $_POST[$checkbox];
if (isset($checkbox_value)) {
echo "checkbox " . $checkbox . " was checked";
} else {
echo "checkbox " . $checkbox . "wasn't check";
}
}
这种解决办法将是如果您的动态表单的复选框数量未知,那么很好。使用JavaScript(但我不推荐使用它),如果选中或不使用不同的值,则会将某些内容写为“my_checkbox”($ _POST ['my_checkbox'])。
感谢优秀的解释,由于某种原因,我没有看到回音任何地方,但我经历的代码试图弄清楚什么是错的,但现在我得到的逻辑。谢谢 ! – user3736204
HTML复选框返回如果他们被选中,如果没有选中返回任何一个值。因此,使用isset()函数
HTML:
<input type="checkbox" value="1" name="chk1" />Label 1
<input type="checkbox" value="1" name="chk2" />Label 2
PHP
$chk1 = (isset($_POST['chk1']))? true : false;
$chk2 = (isset($_POST['chk2']))? true : false;
[使用HTML复选框把1或0到一个MySQL表]的可能重复(http://stackoverflow.com/questions/3675900/using-an-html-checkbox-to-put-1-or- 0到-A-mysql的表) –