PhpRiot
Follow phpriot on Twitter
Sponsored Link
Become Zend Certified

Prepare for the ZCE exam using our quizzes (web or iPad/iPhone). More info...


When you're ready get 7.5% off your exam voucher using voucher CJQNOV23 at the Zend Store
Free iPad/iPhone App
Available on the App Store

  • PHP manual
  • Zend Framework manual
  • Smarty manual
  • PHP articles
  • PHP training

{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 Name Type Required Default Description
name string No checkbox Name of checkbox list
values array Yes, unless using options attribute n/a An array of values for checkbox buttons
output array Yes, unless using options attribute n/a An array of output for checkbox buttons
selected string/array No empty The selected checkbox element(s)
options associative array Yes, unless using values and output n/a An associative array of values and output
separator string No empty String of text to separate each checkbox item
assign string No empty Assign checkbox tags to an array instead of output
labels boolean No TRUE Add <label>-tags to the output
  • Required attributes are values and output, unless you use options instead.

  • All output is XHTML compliant.

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

Example 133. {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 134.  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}

Smarty Template Engine