Setting select box option value

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
AZRoushStang
Forum Newbie
Posts: 8
Joined: Sun May 14, 2006 8:56 pm

Setting select box option value

Post by AZRoushStang »

I'm doing an input form that uses post to self form validation with sticky values for all form fields. I in this form I have a selection box for selecting the state (see code below). I'm not sure how to set the value of the option that was selected. Is there a quick and dirty way to set the selected option? Or am I going to have to use some ugly if/else, or loop statement to set the selected option? I'm hoping someone has a nice clean quick way to do it. All of my attempts have been futile so far. Thanks for any help.

Code: Select all

<!--BEGIN CODE-->

<table>
  <tr>
    <td>City:</td>
    <td>State:</td>
    <td>Zip:</td>
  </tr>
  <tr>
    <td><input type=text name="city" maxlength=25 size=25 value="<? echo $_POST[city]; ?>"></td>
    <td>
	  <select name="state" value="<? echo $_POST[state]; ?>">>
	    <option value""></option>
	    <option value="AK">AK</option>  <option value="AL">AL</option>
	    <option value="AR">AR</option>  <option value="AZ">AZ</option>
	    <option value="CA">CA</option>  <option value="CO">CO</option>
	    <option value="CT">CT</option>  <option value="DC">DC</option>
	    <option value="DE">DE</option>  <option value="FL">FL</option>
	    <option value="GA">GA</option>  <option value="HI">HI</option>
	    <option value="IA">IA</option>  <option value="ID">ID</option>
	    <option value="IL">IL</option>  <option value="IN">IN</option>
	    <option value="KS">KS</option>  <option value="KY">KY</option>
	    <option value="MA">MA</option>  <option value="ME">ME</option>
	    <option value="MD">MD</option>  <option value="MH">MH</option>
	    <option value="MI">MI</option>  <option value="MN">MN</option>
	    <option value="MO">MO</option>  <option value="MS">MS</option>
	    <option value="MT">MT</option>  <option value="NC">NC</option>
	    <option value="ND">ND</option>  <option value="NE">NE</option>
	    <option value="NH">NH</option>  <option value="NJ">NJ</option>
	    <option value="NM">NM</option>  <option value="NV">NV</option>
	    <option value="NY">NY</option>  <option value="OH">OH</option>
	    <option value="OK">OK</option>  <option value="OR">OR</option>
	    <option value="PA">PA</option>  <option value="RI">RI</option>
	    <option value="SC">SC</option>  <option value="SD">SD</option>
	    <option value="TN">TN</option>  <option value="TX">TX</option>
	    <option value="UT">UT</option>  <option value="VA">VA</option>
	    <option value="VT">VT</option>  <option value="WA">WA</option>
	    <option value="WI">WI</option>  <option value="WV">WV</option>
	    <option value="WY">WY</option>  
	  </select>
	</td>
    <td><input type=text name="zip" maxlength=5 size=5 value="<? echo $_POST[zip]; ?>"></td>
  </tr>
</table>

<!--END CODE-->
Burrito: Please use

Code: Select all

and/or

Code: Select all

tags when [url=http://forums.devnetwork.net/viewtopic.php?t=21171]posting code in the forum[/url].[/size]
jmut
Forum Regular
Posts: 945
Joined: Tue Jul 05, 2005 3:54 am
Location: Sofia, Bulgaria
Contact:

Post by jmut »

do you mean using javascript.
or just determening based on the php and data that comes in which is the selected one.
What exactly do you expect to happen?
someberry
Forum Contributor
Posts: 172
Joined: Mon Apr 11, 2005 5:16 am

Post by someberry »

I'm guessing you mean when you submit the page, if there was an error with the form you want the selected item to still be selected? If so you will need something like this:

Code: Select all

<select name="state" size="1"> 
<?PHP if(isset($_POST['state'])){ echo('<option value="' . $_POST['state'] . '" selected>' . $_POST['state'] . '</option>'); ?>
<option value="AK">AK</option>  <option value="AL">AL</option>
<option value="AR">AR</option>  <option value="AZ">AZ</option> 
...
...
</select>
jmut
Forum Regular
Posts: 945
Joined: Tue Jul 05, 2005 3:54 am
Location: Sofia, Bulgaria
Contact:

Post by jmut »

just put this hole stuff in php array.
and loop to display and figure out the selected.
otherwise it will look very messy and hard to mantain
AZRoushStang
Forum Newbie
Posts: 8
Joined: Sun May 14, 2006 8:56 pm

Post by AZRoushStang »

jmut wrote:just put this hole stuff in php array.
and loop to display and figure out the selected.
otherwise it will look very messy and hard to mantain
Thanks, that worked beautifully, looks great and I now have no idea why I didn't think of that...I need to sleep more....
Post Reply