RE: [PHP-DB] Opinions wanted - Multi select lists , implode explode
| From: | Bastien Koert | Date: | Mon, 04 Oct 2004 17:26:45 +0000 |
| Subject: | RE: [PHP-DB] Opinions wanted - Multi select lists , implode explode | ||
| Groups: | php.db | ||
| Request: | Send a blank email to php-db+get-36586@lists.php.net to get a copy of this message | ||
I've used it sucessfully many times. It may the other person's unfamiliarity with arrays and variables
I created the below function which will handle both single choice and multiple choice drop down values and mark them as selected when the user views that drop down again.
bastien
<?
function my_select($name,$rows,$multiple,$array_list,$match)
{
//this select box takes the above 5 arguements to create details
/*
1. $name = the name of the select box
2. $rows = the number of displayed rows (1 as the default)
3. $multiple = does the select allow multiple choices (boolean value 0 for no, 1 for yes
4. $array_list = the options (in a value:display pair ie "1:Informatique","2:Voyages","3:Immobilier")
5. $match = the items to be selected if trying to keep a value ( is "" if no values present or comma separated list if multiple)
*/
$numOpts = count($match);
if ($numOpts>1){
$matches=implode(",",$match);
}elseif ($numOpts==1){
$matches=$match;}else{
$matches="";} echo "<select name=\"$name\" "; echo "size=\"$rows\" "; if ($mutiple==1){ echo " MULTIPLE "; } echo ">"; $count=count($array_list); for ($i=0;$i<$count;$i++){ //take apart the array key:value pairs $elements = explode(":",$array_list[$i]); //compare matches to list to see if the item is selected if (($numOpts<2)&&($matches == $elements[0])){
echo "<option value=\"".$elements[0]."\" SELECTED>".$elements[1];}elseif(($numOpts>1)&&(in_array($elements[0],$matches))){
echo "<option value=\"".$elements[0]."\" SELECTED>".$elements[1];}else{
echo "<option value=\"".$elements[0]."\">".$elements[1];} }//end for echo "</select>"; }//end function ?>
From: Stuart Felenstein <stuart4m@yahoo.com> To: php-db@lists.php.net Subject: [PHP-DB] Opinions wanted - Multi select lists , implode explode Date: Mon, 4 Oct 2004 09:46:20 -0700 (PDT) I was just told that having an array pulling multiple selections from a user out of a list box is a bad practice. Can this be true ? I was under the assumption it was perfectly effective. Thank you, Stuart -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php_________________________________________________________________ Take charge with a pop-up guard built on patented Microsoft® SmartScreen Technology http://join.msn.com/?pgmarket=en-ca&page=byoa/prem&xAPID=1994&DI=1034&SU=http://hotmail.com/enca&HL=Market_MSNIS_Taglines Start enjoying all the benefits of MSN® Premium right now and get the first two months FREE*.