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复选框设置为根据数据库值进行检查的主要内容,如果未能解决你的问题,请参考以下文章
如何根据复选框更新数据库值? jQuery/php/ajax