snookian
snookian

Reputation: 873

PHP checkbox set to check based on database value

I have a system where people fill in their information and later can go back and edit certain parts, basically the enter personal info and check whether they want to know extra info, these bits of extra infos are checkboxes, 4 of them. the user will select up to any of the 4 and the database has 4 fields set to no, if they select one it changes to yes. I want them to be able to go back and deselect or reselect any of these 4 checkboxes, so what i want s for the checkboxes to be selected if the values is yes and unselected if the value is not.

the fields are tag_1, tag_2, tag_3, tag_4

Anyhelp greatly appreciated

I gather some kind of if statement but not sure how to involve it in a checkbox.

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

Ian

Upvotes: 17

Views: 191731

Answers (6)

Rijo V George
Rijo V George

Reputation: 1

$Active=($row['Active']==1)?'checked':"";
<input class='w3-check' type='checkbox' $Active>

Upvotes: 0

Shriganesh Shintre
Shriganesh Shintre

Reputation: 2498

You can read database value in to a variable and then set the variable as follows

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

And in html you can just use the checked_flag variable as follows

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

Upvotes: 1

Damien
Damien

Reputation: 664

Add this code inside your input tag

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

Upvotes: 14

Dan
Dan

Reputation: 327

This simplest ways is to add the "checked attribute.

<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"';?> />

Upvotes: 3

DaveyBoy
DaveyBoy

Reputation: 2915

Extract the information from the database for the checkbox fields. Next change the above example line to: (this code assumes that you've retrieved the information for the user into an associative array called dbvalue and the DB field names match those on the HTML form)

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

If you're looking for the code to do everything for you, you've come to the wrong place.

Upvotes: 64

NicoDeug
NicoDeug

Reputation: 87

Use checked="checked" attribute if you want your checkbox to be checked.

Upvotes: 1

Related Questions