Re: Drawing checkboxes
| From: | Brent Baisley | Date: | Wed, 08 Dec 2004 14:06:20 +0000 |
| Subject: | Re: Drawing checkboxes | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-203728@lists.php.net to get a copy of this message | ||
If I have to pass name/value pairs to a function or anything else, I always use an multidimensional associative array (that's a mouthful). Using a string delimiter is too unreliable and probably slower.
Something like this:
$checkBoxList[] = array('name'=>'Coffee','value'=>'Coffee','checked'=>'Y');
$checkBoxList[] = array('name'=>'Coffee Pot','value'=>'Coffee Pot','checked'=>'N');
$checkBoxList[] = array('name'=>'Tea Pot','value'=>'Tea Pot','checked'=>'Y');
draw_checkbox_menu($checkBoxList);
function draw_checkbox_menu($checkboxes,$parameters=false) {
foreach($checkboxes as $box) {
$field .= '<input type="checkbox" name="'.$box['name'].'" value="'.$box['value'].'"'.($box['checked']=='Y'?' CHECKED':'').'><br />';
}
return $field;
}
A one line function to display your checkboxes. Of course, you need extra code to accommodate your parameters. I have a similar function where the parameters are how many rows or columns to create for the checkboxes. So I could create a checkbox area with 3 columns and x rows or 4 rows and x columns just by passing a different parameter.
On Dec 7, 2004, at 3:10 PM, Mike wrote:
Hello, I am having a hard time figuring this one out, maybe someone here (with fresh eyes) can offer a suggestion? Here is the function... // Draw Checkbox Menu function draw_checkbox_menu($name, $values, $default = false, $parameters = false) {for ($i=0; $i<sizeof($values); $i++) { $field .= '<input type="checkbox" name="'.$name.'" value="' .$values[$i]['id'] . '"';if(strstr($default, $values[$i]['id'])) { $field .= ' CHECKED'; } $field .= '> ' . $values[$i]['text'] . '<br> '; }return $field;} This function is passed the name of the checkbox list($name), the values that are available($values = array) along with the ones that should be checked ($default). Parameters too , but not important. The problem is this. The Values are formatted like this... value1|value2|value3...etc... I use the strstr() function to check against the $default so I can check it if so. Well it works great..BUT, lets say the product has a category of "Coffee Pots", but the one of the values available is "Coffee". In this case both "Coffee" AND "Coffee Pots" get checked when only "Coffee Pots" should. What can I do to this function eliminate this? Thanks +--------------------------------------------+ Mike Yrabedra Mac@gent.com Your Mac Intelligence Resource +--------------------------------------------+ W: http://www.macagent.com/ E: agenty@macagent.com -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- Brent Baisley Systems Architect Landover Associates, Inc. Search & Advisory Services for Advanced Technology Environments p: 212.759.6400/800.759.0577