0

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

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

例如

我有两对复选框,每对都有男鞋和女鞋选项。用户可以选择他们是否只想要男鞋或只想要女鞋或两者兼而有之,并且复选框将被相应地选中。然后还有另一套提供相同选择的牛仔裤。

在数据库中,我有几列

编号 | 外键ID | 鞋 | 牛仔裤

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

0 = 无选择

1 = 选择男士

2 = 选择女性

3 = 两者都被选中

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

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

4

2 回答 2

1

如果您想将此结构保留在数据库中,则:

在查询你的数据库后进入一个变量牛仔裤列的值。

$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";
于 2013-08-01T13:36:02.140 回答
0

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

你可以试试这个逻辑:

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

像这样:

if($row->value == $checkboxvalue){
   $checked = "checked=true"
}else{
   $checked = "";
}

<input type="checkbox" <?php echo $checked?>>

我希望这可以帮助你。:)

-JCB

于 2013-08-01T13:41:02.580 回答