2013-08-01 169 views
0

我知道这是一个基本问题,我应该知道答案,但我从来没有考虑过,我通过谷歌找不到任何东西。如何动态选择复选框

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

例如

我有两条复选框的每一款男鞋和女鞋的选择。用户可以选择是否只想男鞋或只有女鞋或两者兼而有之,并且相应地检查复选框。然后还有另一套牛仔裤,它提供了相同的选项。

在数据库中我有几列

id | foreignKeyId |鞋子|牛仔裤

id列自动递增时,foreignKeyId填充了相关FOREIGNKEY,鞋和牛仔裤已填入一个ENUM '0', '1', '2', '3'

0 =没有选择

1 =男子选择

2 =妇女选择

3 =二者选择

然后我已拉到DAT一个来自数据库,但我不知道如何应用这些信息。我假设我需要重新设计我的数据库。

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

回答

1

如果你想保持这种结构在DB则:

查询您的数据库获取到一个变量的牛仔裤列的值之后。

$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"; 
+0

@ tony09uk你找到你在这个问题找谁?你想接受任何答案吗? – geoak

0

我想自动选择或离开基于数据库 信息未选中的复选框什么。

你可以试试这个逻辑:

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

像这样:

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

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

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

-JCB