2013-04-26 117 views
9

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

字段是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" /> 

伊恩

+0

我在问题中看不到您的PHP代码 – Jocelyn 2013-04-26 15:11:11

回答

35

内从数据库中提取的复选框字段的信息。接着改变它的上面的例子线: (此代码假定检索完该用户的信息到一个关联数组称为dbvalue和DB字段名称匹配的HTML表单上)

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

如果正在寻找代码来为你做所有事情,你来错了地方。

+0

Brillaint谢谢 – snookian 2013-04-26 15:43:59

1

使用checked="checked"属性。

+0

我意识到这是旧的,但我很欣赏一种“没有任何废话”的答案。 – 2018-03-10 04:19:52

4

添加该代码的输入标签

<?php if ($tag_1 == 'yes') echo "checked='checked'"; ?> 
2

这最简单的方法就是加入了“checked属性。

<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"';?> /> 
+0

嘿所以我会更新我的问题,以反映你的答案,这是完全正确的,你明白我想在这里做什么,但现在它显示正确的可用类别,但如果我现在检查它不会发布到联接表,当然不会显示蜱,因为没有行? – PhpDude 2015-07-04 12:56:12

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}>