如何动态选择复选框


how to dynamically select checkboxes

我知道这是一个我应该知道答案的基本问题,但我以前从未考虑过,而且我在谷歌上找不到任何东西。

我想根据数据库中的信息自动选择或不选择复选框。

例如

我有两双复选框,每双都有一双男鞋和一双女鞋可供选择。用户可以选择是只想要男鞋还是只想要女鞋,或者两者都想要,复选框将相应地被选中。还有另一套牛仔裤也提供了同样的选择。

在数据库中,我有几列

id | foreignKeyId |鞋子|牛仔裤

id列自动递增,foreignKeyId用相关foreignKey填充,鞋子和牛仔裤用ENUM"0"、"1"、"2"、"3"填充

0=无选择

1=男性选择

2=选择的女性

3=同时选择

然后我从数据库中提取了数据,但我不知道如何应用这些信息。我假设我需要重新设计我的数据库。

存储和应用这些信息的最佳方式是什么?

如果你想在数据库中保留这个结构,那么:

在查询数据库之后,获取一个变量Jeans列的值。

$jeans = $row["Jeans"];

然后找出你必须向用户显示的内容

$mens='';
$womens= '';
switch($jeans){
case "1": $mens=' checked="checked"'; break;
case "2": $womens=' checked="checked"'; break;
case "3": $mens=' checked="checked"'; $womens=' checked="checked"'; break;
}
echo "<input type='checkbox' name='mens' ".$mens." /> Mens";
echo "<input type='checkbox' name='womens' ".$womens." /> Womens";

我想根据数据库中的信息。

你可以试试这个逻辑:

从表中获取行,然后进行迭代。在每一行中,询问字段的值是否等于复选框的值。如果是,请将$checked变量的值设置为"checked=true"。如果不是,请将$checked变量的值设置为"或空字符串。回显<input type="checkbox">标记中的$checked变量。

像这样:

if($row->value == $checkboxvalue){
   $checked = "checked=true"
}else{
   $checked = "";
}
<input type="checkbox" <?php echo $checked?>>

我希望这对你有所帮助

-JCB