我知道这是一个我应该知道答案的基本问题,但我以前从未考虑过,而且我在谷歌上找不到任何东西。
我想根据数据库中的信息自动选择或不选择复选框。
例如
我有两双复选框,每双都有一双男鞋和一双女鞋可供选择。用户可以选择是只想要男鞋还是只想要女鞋,或者两者都想要,复选框将相应地被选中。还有另一套牛仔裤也提供了同样的选择。
在数据库中,我有几列
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