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

Posted

技术标签:

【中文标题】PHP复选框设置为根据数据库值进行检查【英文标题】:PHP checkbox set to check based on database value 【发布时间】:2013-04-20 19:38:09 【问题描述】:

我有一个系统,人们填写他们的信息,然后可以返回并编辑某些部分,基本上是输入个人信息并检查他们是否想知道额外的信息,这些额外的信息是复选框,其中 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 代码。 【参考方案1】:

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

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

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

【讨论】:

【参考方案2】:

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

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

【讨论】:

嘿,所以我将更新我的问题以反映您的答案,这是完全正确的,您了解我在这里尝试做什么,但现在它显示了正确的可用类别,但如果我现在检查它们,它不会发布到连接表中,当然不显示刻度,因为没有行?【参考方案4】:

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

【讨论】:

我知道这已经过时了,但我很欣赏“严肃”的回答。【参考方案5】:

您可以将数据库值读入一个变量,然后按如下方式设置该变量

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

【讨论】:

以上是关于PHP复选框设置为根据数据库值进行检查的主要内容,如果未能解决你的问题,请参考以下文章

PHP jquery设置复选框值,如果选中或未选中并发布

根据数组值使用 jquery 设置复选框

如何根据复选框更新数据库值? jQuery/php/ajax

如何使用角度js根据数据库中的值设置复选框的选中属性

如何根据复选框更新数据库值? jQuery的/ PHP / AJAX

如何根据值检查复选框?