{html_checkboxes}

{html_checkboxes} is a custom function that creates an html checkbox group with provided data. It takes care of which item(s) are selected by default as well.

Attribute NameTypeRequiredDefaultDescription
namestringNocheckboxName of checkbox list
valuesarrayYes, unless using options attributen/aAn array of values for checkbox buttons
outputarrayYes, unless using options attributen/aAn array of output for checkbox buttons
selectedstring/arrayNoemptyThe selected checkbox element(s)
optionsassociative arrayYes, unless using values and outputn/aAn associative array of values and output
separatorstringNoemptyString of text to separate each checkbox item
assignstringNoemptyAssign checkbox tags to an array instead of output
labelsbooleanNoTRUEAdd <label>-tags to the output
assignstringNoemptyAssign the output to an array with each checkbox's output as one element.

Example 8-9. {html_checkboxes}

<?php

$smarty
->assign('cust_ids', array(1000,1001,1002,1003));
$smarty->assign('cust_names', array(
                                
'Joe Schmoe',
                                
'Jack Smith',
                                
'Jane Johnson',
                                
'Charlie Brown')
                              );
$smarty->assign('customer_id'1001);

?>

where template is

{html_checkboxes name='id' values=$cust_ids output=$cust_names
   selected=$customer_id  separator='<br />'}

or where PHP code is:

<?php

$smarty
->assign('cust_checkboxes', array(
                                     
1000 => 'Joe Schmoe',
                                     
1001 => 'Jack Smith',
                                     
1002 => 'Jane Johnson',
                                     
1003 => 'Charlie Brown')
                                   );
$smarty->assign('customer_id'1001);

?>

and the template is

{html_checkboxes name='id' options=$cust_checkboxes
   selected=$customer_id separator='<br />'}

both examples will output:

<label><input type="checkbox" name="id[]" value="1000" />Joe Schmoe</label><br />
<label><input type="checkbox" name="id[]" value="1001" checked="checked" />Jack Smith</label>
<br />
<label><input type="checkbox" name="id[]" value="1002" />Jane Johnson</label><br />
<label><input type="checkbox" name="id[]" value="1003" />Charlie Brown</label><br />

Example 8-10. Database example (eg PEAR or ADODB):

<?php

$sql 
'select type_id, types from contact_types order by type';
$smarty->assign('contact_types',$db->getAssoc($sql));

$sql 'select contact_id, contact_type_id, contact '
       
.'from contacts where contact_id=12';
$smarty->assign('contact',$db->getRow($sql));

?>

The results of the database queries above would be output with.

{html_checkboxes name='contact_type_id' options=$contact_types
        selected=$contact.contact_type_id separator='<br />'}

See also {html_radios} and {html_options}