0

How to add checked="yes" from a php mysql result when $row['checkbox'] == input.value?

for example: If now $row['checkbox']='3' How to add checked="yes" in <li><input type="checkbox" name="my_check" value="3" checked="yes" />Guangzhou</li>? Thanks.

<?php
// db_connect, mysql_query
while($row = mysql_fetch_array($query)){
// If($row['checkbox']='3)
?>
<li><input type="checkbox" name="my_check" value="1" />Beijing</li>
<li><input type="checkbox" name="my_check" value="2" />Shanghai</li>
<li><input type="checkbox" name="my_check" value="3" />Guangzhou</li>
<li><input type="checkbox" name="my_check" value="4" />Chongqin</li>
<li><input type="checkbox" name="my_check" value="5" />Tianjing</li>
<li><input type="checkbox" name="my_check" value="6" />Chengdu</li>
<li><input type="checkbox" name="my_check" value="7" />Wuhan</li>
<li><input type="checkbox" name="my_check" value="8" />Nanjing</li>
<li><input type="checkbox" name="my_check" value="9" />Shenzhen</li>
<li><input type="checkbox" name="my_check" value="10" />Hangzhou</li>
<li><input type="checkbox" name="my_check" value="11" />Ningbo</li>
<?php
}
?>
5
  • Looks like you need a radio button, not a checkbox. Commented Apr 14, 2012 at 12:25
  • @fish man Are you getting city names from sql query result? Commented Apr 14, 2012 at 12:26
  • @heyanshukla, No, they ain't, your answer can do that, but I should parse <?php if($row['checkbox']=='3') echo 'checked="yes"' ?> in each input, however, in my page, I have more than 100 checkbox. any easy way? Thanks. Commented Apr 14, 2012 at 12:30
  • @fishman RepWhoringPeeHaa has suggested an easy way. Commented Apr 14, 2012 at 12:31
  • @heyanshukla, yes, I saw it. thanks. Commented Apr 14, 2012 at 12:31

3 Answers 3

3

I would first create an array for the checkboxes:

$checkBoxes = array(1=>'Beijing',
                    2=>'Shanghai',
                    3=>'Guangzhou',
                    4=>'etc',
                    );

Then I would simply loop through them:

<?php
while($row = mysql_fetch_array($query)){
    foreach($checkBoxes as $value => $name) {
        $checked = '';
        if ($row['value'] == $value) $checked = ' checked="true"';
        echo '<li><input type="checkbox" name="my_check" value="' . $value . '"' . $checked . ' />' . $name . '</li>';
    }
}
Sign up to request clarification or add additional context in comments.

Comments

2

try this

<?php
// db_connect, mysql_query
while($row = mysql_fetch_array($query)){
// If($row['checkbox']='3)
$checked[$row['checkbox']] = ' checked="checked" ';
?>
<li><input type="checkbox" name="my_check" value="1" <?php echo $checked[1] ?> />Beijing</li>
<li><input type="checkbox" name="my_check" value="2" <?php echo $checked[2] ?> />Shanghai</li>
<li><input type="checkbox" name="my_check" value="3" <?php echo $checked[3] ?> />Guangzhou</li>
<li><input type="checkbox" name="my_check" value="4" <?php echo $checked[4] ?> />Chongqin</li>
<li><input type="checkbox" name="my_check" value="5" <?php echo $checked[5] ?> />Tianjing</li>
<li><input type="checkbox" name="my_check" value="6" <?php echo $checked[6] ?> />Chengdu</li>
<li><input type="checkbox" name="my_check" value="7" <?php echo $checked[7] ?> />Wuhan</li>
<li><input type="checkbox" name="my_check" value="8" <?php echo $checked[8] ?> />Nanjing</li>
<li><input type="checkbox" name="my_check" value="9" <?php echo $checked[9] ?> />Shenzhen</li>
<li><input type="checkbox" name="my_check" value="10" <?php echo $checked[10] ?> />Hangzhou</li>
<li><input type="checkbox" name="my_check" value="11" <?php echo $checked[11] ?> />Ningbo</li>
<?php
}
?>

good luck

Comments

1
    <input type="checkbox" name="my_check" value="3" <?php if($row['checkbox']=='3') checked="yes" ?>/>

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.