2013-08-01 207 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