Make sure you reset $selected at the end of the while loop.
if HTML readability is a concern you can also do something like the
following( for static lists I find it easier this way ):
<?php $priority_selected[$priority] = 'SELECTED'; ?>
<SELECT NAME="priority">
<OPTION VALUE="000" <?php echo($priority_selected['000'])?>>Low
<OPTION VALUE="050" <?php echo($priority_selected['050'])?>>Medium
<OPTION VALUE="100" <?php echo($priority_selected['100'])?>>High
</SELECT>
morgan
At 05:30 PM 3/29/2001 -0800, Jason Lotito wrote:
> > -----Original Message-----
> > From: Ashley M. Kirchner [mailto:[EMAIL PROTECTED]]
> > Sent: Thursday, March 29, 2001 1:56 PM
> > To: PHP-General List
> > Subject: [PHP] Better way (if...elseif...else)
> >
> >
> >
> > Is there a better way to write the following snippet:
> >
> > if ($priority == "000") {
> > $fcol="high";
> > $pstr .= "<option value=\"000\" selected>High\n";
> > $pstr .= "<option value=\"050\">Medium\n";
> > $pstr .= "<option value=\"100\">Low\n";
> > } elseif ($priority == "050") {
> > $fcol="med";
> > $pstr .= "<option value=\"000\">High\n";
> > $pstr .= "<option value=\"050\" selected>Medium\n";
> > $pstr .= "<option value=\"100\">Low\n";
> > } else {
> > $fcol="low";
> > $pstr .= "<option value=\"000\">High\n";
> > $pstr .= "<option value=\"050\">Medium\n";
> > $pstr .= "<option value=\"100\" selected>Low\n";
> > }
> >
> > I just hate having to repeat pieces of code. This piece here just
> > generates a drop down list of items, with the current one being the
> > selected one.
>
>
>$val = array("000","050","100");
>$val_name = array("Low","Medium","High");
>$count = count($val);
>$counter = 0;
>while ($counter < $count)
>{
> if ($val[$counter] == $priority)
> {
> $selected = " selected";
> }
> echo "<option
>value=\"$val[$counter]\"$selected>$val_name[$counter]</option>";
> $counter++;
>}
>
>
>--
>PHP General Mailing List (http://www.php.net/)
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]
>To contact the list administrators, e-mail: [EMAIL PROTECTED]