{html_checkboxes}

{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. Required attributes are values and output, unless you use options instead. All output is XHTML compatible.

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
labelsbooleanNotrueadd <label>-tags to the output

All parameters that are not in the list above are printed as name/value-pairs inside each of the created <input>-tags.

Example 8-7. {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-8. Database example (eg PEAR or ADODB):

<?php

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

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

?>
{html_checkboxes name="type" options=$types selected=$contact.type_id separator="<br />"}

See also {html_radios} and {html_options}

© Copyright 2003-2023 www.php-editors.com. The ultimate PHP Editor and PHP IDE site.