【问题标题】:PHP checkbox set to check based on database valuePHP复选框设置为根据数据库值进行检查
【发布时间】: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 代码。

标签: php html mysql checkbox


【解决方案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}>
      

      【讨论】:

        猜你喜欢
        • 2013-03-09
        • 2017-08-22
        • 1970-01-01
        • 2016-03-08
        • 2017-06-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多