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

问题描述 投票:0回答:6

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

字段为 tag_1、tag_2、tag_3、tag_4

非常感谢任何帮助

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

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

伊恩

php html mysql checkbox
6个回答
64
投票

从数据库中提取复选框字段的信息。接下来将上面的示例行更改为: (此代码假设您已将用户信息检索到名为

dbvalue
的关联数组中,并且数据库字段名称与 HTML 表单上的字段名称相匹配)

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

如果您正在寻找可以为您完成所有操作的代码,那么您来错地方了。


14
投票

将此代码添加到您的输入标签中

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

3
投票

最简单的方法就是添加“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"';?> />

1
投票

如果您希望选中复选框,请使用

checked="checked"
属性。


1
投票

您可以将数据库值读取到变量中,然后按如下方式设置变量

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

0
投票

$Active=($row['Active']==1)?'checked':"";

© www.soinside.com 2019 - 2024. All rights reserved.