PHP复选框设置为基于数据库值进行检查

时间:2013-04-26 15:07:38

标签: php html mysql checkbox

我有一个系统,人们填写他们的信息,然后可以返回并编辑某些部分,基本上输入个人信息并检查他们是否想知道额外的信息,这些额外的信息是复选框,其中4个。用户将选择最多4个中的任何一个,并且数据库有4个字段设置为no,如果他们选择一个,则更改为yes。我希望他们能够返回并取消选择或重新选择这4个复选框中的任何一个,因此,如果值为yes,则我想要选中复选框,如果值不是,则取消选择。

字段为tag_1,tag_2,tag_3,tag_4

Anyhelp非常感谢

我收集了某种if语句,但不确定如何将它包含在一个复选框中。

<label for="tag_1">Tag 1</label>
<input type="checkbox" name="tag_1" id="tag_1" value="yes" />

伊恩

5 个答案:

答案 0 :(得分:43)

从数据库中提取复选框字段的信息。接下来将上面的示例行更改为: (此代码假定您已将用户的信息检索到名为dbvalue的关联数组中,并且数据库字段名称与HTML表单上的名称相匹配)

<input type="checkbox" name="tag_1" id="tag_1" value="yes" <?php echo ($dbvalue['tag_1']==1 ? 'checked' : '');?>>

如果您正在寻找代码来为您做任何事情,那么您来错了地方。

答案 1 :(得分:7)

在输入标记

中添加此代码
<?php if ($tag_1 == 'yes') echo "checked='checked'"; ?>

答案 2 :(得分:2)

这种最简单的方法是添加“已检查属性。

<label for="tag_1">Tag 1</label>
<input type="checkbox" name="tag_1" id="tag_1" value="yes" 
    <?php if($tag_1_saved_value === 'yes') echo 'checked="checked"';?> />

答案 3 :(得分:1)

如果要选中复选框,请使用checked="checked"属性。

答案 4 :(得分:0)

您可以将数据库值读入变量,然后按如下所示设置变量

$app_container->assign('checked_flag', $db_data=='0'  ? '' : 'checked');

在html中你可以使用checked_flag变量,如下所示

<input type="checkbox" id="chk_test" name="chk_test" value="1" {checked_flag}>