NYCPHP Meetup

NYPHP.org

[nycphp-talk] Remembering which option in a SELECT the user picked.

gadhra bfeqx44002 at sneakemail.com
Wed Jan 29 00:24:25 EST 2003


Hi Stephen,

You might consider offloading the creating of the select to a function call:


function generate_select($name,$option,$sel=0) {
     $str = "\
<select name=\\"$name\\">\
";
     $str .= "<option value=\\"0\\">- None -</option>\
";
     foreach ($option as $key=>$val) {
       if ($sel == $val) {
          $str .="<option value=\\"$val\\" selected>$key</option>\
";
      } else {
         $str .= "<option value=\\"$val\\">$key</option>\
";
     }
   }
    $str .= "</select>\
";
    return $str;
 }

Then, you can just create an array of the values you want in select:
/*  I used a numerical representation of the date time to avoid confusion between the key and value */
$arr_times = array(    "Friday August 22, 04:00 PM - 06:00 PM"=> "082203_1600_1800",    "Friday August 22, 06:00 PM - 08:00 PM"=> "082203_1800_2000");

and run the function like this:

$display_select = generate_select("TimeChoice",$arr_times);
if ($error) {
 $display_select = generate_select("TimeChoice",$arr_times,$_POST['TimeChoice']);
}

If you get an error, you will retain the HTTP_POST_VARS for your select value, and you should be in business.  Bear in mind I haven't tested this out, but I think it will work; anyone see problems with this?

+gadhra+





--------------------------------------
Protect yourself from spam, 
use http://sneakemail.com



More information about the talk mailing list