> I have a drop down list with all fifty states. very common. I conjured > up a way to store the value when you return to edit the form, but there > most be an easier way either in html, or in php. Here is what I > currently have. > > <select name="state"> > <option value="AL"{$stateselected['AL']}>Alabama</option> > <option value="AK"{$stateselected['AK']}>Alaska</option> > <option value="AZ"{$stateselected['AZ']}>Arizona</option> > . > </select> > > $stateselected['$state'] is an array that stores the state that was > selected on the prior form. is there an easier way, to have a default > state picked out of this drop down list.???
A trick I picked up from someone on this list: <?php $$state = ' selected="true"'; print <<<END <select name="state"> <option value="AL"$AL>Alabama</option> <option value="AK"$AK>Alaska</option> <option value="AZ"$AZ>Arizona</option> <!-- . . . --> </select> END; ?> That's it! If $state is set to 'AZ', then the $$state line creates a variable called $AZ, and sets its value to ' selected="true"'. Running the code produces this HTML: <select name="state"> <option value="AL">Alabama</option> <option value="AK">Alaska</option> <option value="AZ" selected="true">Arizona</option> <!-- . . . --> </select> This solution might be considered ugly for several reasons: * all sorts of warnings are thrown, one for each unset state variable * it's entirely un-obvious to the casual code-reviewer what's going on. So it requires more documentation. * you run the risk of stepping on pre-existing variables. However, the upside, namely, eliminating a *ton* of code, is attractive enough to me that I use this for most select boxes I do. Joel -- [ joel boonstra | [EMAIL PROTECTED] ] -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php