15

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

伊恩

4

5 回答 5

61

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

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

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

于 2013-04-26T15:12:22.300 回答
11

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

<?php if ($tag_1 == 'yes') echo "checked='checked'"; ?>
于 2013-04-26T15:12:20.997 回答
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"';?> />
于 2013-04-26T15:12:37.170 回答
1

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

于 2013-04-26T15:12:11.867 回答
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}>
于 2014-09-24T21:49:54.817 回答