2013-04-26 40 views
9

我有一個系統,人們填寫他們的信息,然後可以返回並編輯某些部分,基本上輸入個人信息,並檢查他們是否想知道額外的信息,這些位額外的信息是複選框,其中4個。用戶將選擇最多4個數據庫中的4個字段設置爲否,如果他們選擇一個,則更改爲是。我希望他們能夠返回並取消選擇或重新選擇這4個複選框中的任何一個,所以如果值爲yes,則選擇複選框,如果值不是,則取消選中。PHP複選框設置爲基於數據庫值

字段是TAG_1,TAG_2,tag_3,tag_4

Anyhelp不勝感激

我收集一些類型的if語句,但不知道如何給它一個複選框涉及。如果你想檢查你的複選框

<label for="tag_1">Tag 1</label> 
<input type="checkbox" name="tag_1" id="tag_1" value="yes" /> 

伊恩

+0

我在問題中看不到您的PHP代碼 – Jocelyn 2013-04-26 15:11:11

回答

35

內從數據庫中提取的複選框字段的信息。接着改變它的上面的例子線: (此代碼假定檢索完該用戶的信息到一個關聯數組稱爲dbvalue和DB字段名稱匹配的HTML表單上)

<input type="checkbox" name="tag_1" id="tag_1" value="yes" <?php echo ($dbvalue['tag_1']==1 ? 'checked' : '');?>> 

如果正在尋找代碼來爲你做所有事情,你來錯了地方。

+0

Brillaint謝謝 – snookian 2013-04-26 15:43:59

1

使用checked="checked"屬性。

+0

我意識到這是舊的,但我很欣賞一種「沒有任何廢話」的答案。 – 2018-03-10 04:19:52

4

添加該代碼的輸入標籤

<?php if ($tag_1 == 'yes') echo "checked='checked'"; ?> 
2

這最簡單的方法就是加入了「checked屬性。

<label for="tag_1">Tag 1</label> 
<input type="checkbox" name="tag_1" id="tag_1" value="yes" 
    <?php if($tag_1_saved_value === 'yes') echo 'checked="checked"';?> /> 
+0

嘿所以我會更新我的問題,以反映你的答案,這是完全正確的,你明白我想在這裏做什麼,但現在它顯示正確的可用類別,但如果我現在檢查它不會發布到聯接表,當然不會顯示蜱,因爲沒有行? – PhpDude 2015-07-04 12:56:12

0

您可以在一個可變的讀取數據庫的值,然後設置變量如下

$app_container->assign('checked_flag', $db_data=='0' ? '' : 'checked'); 

而在HTML中,你可以只需使用如下所示的checked_flag變量:

<input type="checkbox" id="chk_test" name="chk_test" value="1" {checked_flag}>