|
|
Come on, you know you want to buy me a beer!
So, here is a method to list all 50 US States drop down list.
All the work's done. Just copy and paste the code into a new PHP file to run it.
Have fun!
<?php
/**
* US STATE DROPDOWN LIST
* ROGER E THOMAS December 2010
* http://www.rogerethomas.com
* Completely free to download and use in your scripts.
* Call as: echo listUSStates($state_values,$dropdown_name,$key_selected);
*
* $dropdown_name is the name of the final select box.
* $key_selected is the value of the index that should be selected by default
* This should come in handy when dealing with incorrect address
* information and promting the user for more info.
*
*
*/
/**
*
* Between these lines (below) is the function.
*
*/
$state_values=array(
'AL'=>"Alabama",
'AK'=>"Alaska",
'AZ'=>"Arizona",
'AR'=>"Arkansas",
'CA'=>"California",
'CO'=>"Colorado",
'CT'=>"Connecticut",
'DE'=>"Delaware",
'DC'=>"District Of Columbia",
'FL'=>"Florida",
'GA'=>"Georgia",
'HI'=>"Hawaii",
'ID'=>"Idaho",
'IL'=>"Illinois",
'IN'=>"Indiana",
'IA'=>"Iowa",
'KS'=>"Kansas",
'KY'=>"Kentucky",
'LA'=>"Louisiana",
'ME'=>"Maine",
'MD'=>"Maryland",
'MA'=>"Massachusetts",
'MI'=>"Michigan",
'MN'=>"Minnesota",
'MS'=>"Mississippi",
'MO'=>"Missouri",
'MT'=>"Montana",
'NE'=>"Nebraska",
'NV'=>"Nevada",
'NH'=>"New Hampshire",
'NJ'=>"New Jersey",
'NM'=>"New Mexico",
'NY'=>"New York",
'NC'=>"North Carolina",
'ND'=>"North Dakota",
'OH'=>"Ohio",
'OK'=>"Oklahoma",
'OR'=>"Oregon",
'PA'=>"Pennsylvania",
'RI'=>"Rhode Island",
'SC'=>"South Carolina",
'SD'=>"South Dakota",
'TN'=>"Tennessee",
'TX'=>"Texas",
'UT'=>"Utah",
'VT'=>"Vermont",
'VA'=>"Virginia",
'WA'=>"Washington",
'WV'=>"West Virginia",
'WI'=>"Wisconsin",
'WY'=>"Wyoming"
);
function listUSStates($state_values,$dropdown_name,$key_selected) {
$string="<select name=\"".$dropdown_name."\">\n";
if (!empty($state_values)) {
if ($key_selected=="" || !isset($key_selected)) {
$string.="<option value=\"\">Please select</option>\n";
}
foreach($state_values as $state_short=>$state_full) {
if ($key_selected!="" && $key_selected==$state_short) {
$additional=" SELECTED";
}
else {
$additional="";
}
$string.="<option value=\"".$state_short."\"".$additional.">".$state_full."</option>\n";
}
}
$string.="</select>\n";
return $string;
}
/**
*
* DONT CHANGE ANYTHING ABOVE THIS LINE
*
*/
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="author" content="" />
<title>Example</title>
</head>
<body>
<h2>Select a State Example...</h2>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<?php
$select_box_name = "roger";
if (isset($_POST['submit']))
$key_selected=$_POST[$select_box_name];
echo listUSStates($state_values,$select_box_name,$key_selected);
?>
<input type="submit" name="submit" value="Go!" />
</form>
<?php
if (isset($_POST['submit'])) {
$short_name = $_POST[$select_box_name];
$long_name = $state_values[$short_name];
echo "You selected ".$_POST[$select_box_name].", which is short for ".$long_name."";
}
?>
</body>
</html>
php_Coda commented on Feb 12th 2011
Thank you! This is exactly what I wanted!
Eric commented on Dec 22nd 2010
Just what I needed. Great example!
FiveCodes commented on Dec 18th 2010
Thanks, works perfectly.