PHP USA State List HTML Select

You can use this script to generate a dynamic USA state html select list via PHP.

State Abbreviation:

<select name="state"><?php echo StateDropdown(null, 'abbrev'); ?></select>

AK AL AR AZ CA CO CT DC DE FL GA HI IA ID IL IN KS KY LA MA MD ME MI MN MO MS MT NC ND NE NH NJ NM NV NY OH OK OR PA PR RI SC SD TN TX UT VA VT WA WI WV WY 

State Abbreviation Pre-selected:

<select name="state"><?php echo StateDropdown('PA', 'abbrev'); ?></select>

AK AL AR AZ CA CO CT DC DE FL GA HI IA ID IL IN KS KY LA MA MD ME MI MN MO MS MT NC ND NE NH NJ NM NV NY OH OK OR PA PR RI SC SD TN TX UT VA VT WA WI WV WY 

State Full Name:

<select name="state"><?php echo StateDropdown(null, 'name'); ?></select>

Alaska Alabama Arkansas Arizona California Colorado Connecticut District of Columbia Delaware Florida Georgia Hawaii Iowa Idaho Illinois Indiana Kansas Kentucky Louisiana Massachusetts Maryland Maine Michigan Minnesota Missouri Mississippi Montana North Carolina North Dakota Nebraska New Hampshire New Jersey New Mexico Nevada New York Ohio Oklahoma Oregon Pennsylvania Puerto Rico Rhode Island South Carolina South Dakota Tennessee Texas Utah Virginia Vermont Washington Wisconsin West Virginia Wyoming 

State Full Name Pre-selected:

<select name="state"><?php echo StateDropdown('New Hampshire', 'name'); ?></select>

Alaska Alabama Arkansas Arizona California Colorado Connecticut District of Columbia Delaware Florida Georgia Hawaii Iowa Idaho Illinois Indiana Kansas Kentucky Louisiana Massachusetts Maryland Maine Michigan Minnesota Missouri Mississippi Montana North Carolina North Dakota Nebraska New Hampshire New Jersey New Mexico Nevada New York Ohio Oklahoma Oregon Pennsylvania Puerto Rico Rhode Island South Carolina South Dakota Tennessee Texas Utah Virginia Vermont Washington Wisconsin West Virginia Wyoming 

State Mixed:

<select name="state"><?php echo StateDropdown(null, 'mixed'); ?></select>

Alaska Alabama Arkansas Arizona California Colorado Connecticut District of Columbia Delaware Florida Georgia Hawaii Iowa Idaho Illinois Indiana Kansas Kentucky Louisiana Massachusetts Maryland Maine Michigan Minnesota Missouri Mississippi Montana North Carolina North Dakota Nebraska New Hampshire New Jersey New Mexico Nevada New York Ohio Oklahoma Oregon Pennsylvania Puerto Rico Rhode Island South Carolina South Dakota Tennessee Texas Utah Virginia Vermont Washington Wisconsin West Virginia Wyoming 

State Mixed Pre-selected:

<select name="state"><?php echo StateDropdown('CA', 'mixed'); ?></select>

Alaska Alabama Arkansas Arizona California Colorado Connecticut District of Columbia Delaware Florida Georgia Hawaii Iowa Idaho Illinois Indiana Kansas Kentucky Louisiana Massachusetts Maryland Maine Michigan Minnesota Missouri Mississippi Montana North Carolina North Dakota Nebraska New Hampshire New Jersey New Mexico Nevada New York Ohio Oklahoma Oregon Pennsylvania Puerto Rico Rhode Island South Carolina South Dakota Tennessee Texas Utah Virginia Vermont Washington Wisconsin West Virginia Wyoming 

SCRIPT

<?php

/**

  • States Dropdown
    *
  • @uses check_select
  • @param string $post, the one to make “selected”
  • @param string $type, by default it shows abbreviations. ‘abbrev’, ‘name’ or ‘mixed’
  • @return string
    */
    function StateDropdown($post=null, $type=’abbrev’) {
    $states = array(
    array(‘AK’, ‘Alaska’),
    array(‘AL’, ‘Alabama’),
    array(‘AR’, ‘Arkansas’),
    array(‘AZ’, ‘Arizona’),
    array(‘CA’, ‘California’),
    array(‘CO’, ‘Colorado’),
    array(‘CT’, ‘Connecticut’),
    array(‘DC’, ‘District of Columbia’),
    array(‘DE’, ‘Delaware’),
    array(‘FL’, ‘Florida’),
    array(‘GA’, ‘Georgia’),
    array(‘HI’, ‘Hawaii’),
    array(‘IA’, ‘Iowa’),
    array(‘ID’, ‘Idaho’),
    array(‘IL’, ‘Illinois’),
    array(‘IN’, ‘Indiana’),
    array(‘KS’, ‘Kansas’),
    array(‘KY’, ‘Kentucky’),
    array(‘LA’, ‘Louisiana’),
    array(‘MA’, ‘Massachusetts’),
    array(‘MD’, ‘Maryland’),
    array(‘ME’, ‘Maine’),
    array(‘MI’, ‘Michigan’),
    array(‘MN’, ‘Minnesota’),
    array(‘MO’, ‘Missouri’),
    array(‘MS’, ‘Mississippi’),
    array(‘MT’, ‘Montana’),
    array(‘NC’, ‘North Carolina’),
    array(‘ND’, ‘North Dakota’),
    array(‘NE’, ‘Nebraska’),
    array(‘NH’, ‘New Hampshire’),
    array(‘NJ’, ‘New Jersey’),
    array(‘NM’, ‘New Mexico’),
    array(‘NV’, ‘Nevada’),
    array(‘NY’, ‘New York’),
    array(‘OH’, ‘Ohio’),
    array(‘OK’, ‘Oklahoma’),
    array(‘OR’, ‘Oregon’),
    array(‘PA’, ‘Pennsylvania’),
    array(‘PR’, ‘Puerto Rico’),
    array(‘RI’, ‘Rhode Island’),
    array(‘SC’, ‘South Carolina’),
    array(‘SD’, ‘South Dakota’),
    array(‘TN’, ‘Tennessee’),
    array(‘TX’, ‘Texas’),
    array(‘UT’, ‘Utah’),
    array(‘VA’, ‘Virginia’),
    array(‘VT’, ‘Vermont’),
    array(‘WA’, ‘Washington’),
    array(‘WI’, ‘Wisconsin’),
    array(‘WV’, ‘West Virginia’),
    array(‘WY’, ‘Wyoming’)
    ); $options = ‘<option value=””></option>’; foreach ($states as $state) {
    if ($type == ‘abbrev’) {
    $options .= ‘<option value=”‘.$state[0].'” ‘. check_select($post, $state[0], false) .’ >’.$state[0].'</option>’.”\n”;
    } elseif($type == ‘name’) {
    $options .= ‘<option value=”‘.$state[1].'” ‘. check_select($post, $state[1], false) .’ >’.$state[1].'</option>’.”\n”;
    } elseif($type == ‘mixed’) {
    $options .= ‘<option value=”‘.$state[0].'” ‘. check_select($post, $state[0], false) .’ >’.$state[1].'</option>’.”\n”;
    }
    } echo $options;
    }

/**

  • Check Select Element
    *
  • @param string $i, POST value
  • @param string $m, input element’s value
  • @param string $e, return=false, echo=true
  • @return string
    */
    function check_select($i,$m,$e=true) {
    if ($i != null) {
    if ( $i == $m ) {
    $var = ‘ selected=”selected” ‘;
    } else {
    $var = ”;
    }
    } else {
    $var = ”;
    }
    if(!$e) {
    return $var;
    } else {
    echo $var;
    }
    }