Forum Moderators: coopster

Message Too Old, No Replies

Multiple checkbox's Gotta be a better way!

Mysql row exploded and set to checked

         

HeadBut

5:28 pm on Jul 16, 2005 (gmt 0)

10+ Year Member



Somebody has got to have a more effiecient way to do this:
like a contains function or something?
<?php
$Lang = explode(",", $row_userDisplay['Languages']);
$LangCount = count($Lang)-1;
$LangStart = 0;
?>
<input type="checkbox" name="Languages[]" value="1" <?php do{if($Lang[$LangStart]=="1"){echo "checked"};$LangStart = $LangStart + 1;}while ($LangCount >= $LangStart);?>> Other<br>
<input type="checkbox" name="Languages[]" value="2" <?php do{if($Lang[$LangStart]=="2"){echo "checked"};$LangStart = $LangStart + 1;}while ($LangCount >= $LangStart);?>> Arabic<BR>
<input type="checkbox" name="Languages[]" value="3" <?php do{if($Lang[$LangStart]=="3"){echo "checked"};$LangStart = $LangStart + 1;}while ($LangCount >= $LangStart);?>> Bengali<BR>
<input type="checkbox" name="Languages[]" value="4" <?php do{if($Lang[$LangStart]=="4"){echo "checked"};$LangStart = $LangStart + 1;}while ($LangCount >= $LangStart);?>> Bulgarian<BR>

I'd like my submit form to be the same form as the result form.. like a control panel. So, I am trying to find a efficient way to handle these language checkboxes

Thanks

ergophobe

8:14 pm on Jul 16, 2005 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



I usually do something like this

[assumed input: $_SESSION['lang'] is an array of language codes like 'en' for English]

$languages = array('en'=>"English", 'us'=>"American", 'ca'=>"Canadian", 'au'=>"Australian", 'nz'=>"Kiwi");


foreach($languages as $code => $name)
{
$checked = (in_array($code, $_SESSION['langs']))? ' checked="checked"' : '';
echo '<input type="checkbox" name="Languages[]" value="'.$code.'"' . $checked . '>' . $name . "<br>\n";
}

Note that ' checked="checked"' has a leading space.