PHP | 都道府県のセレクトフォーム作成する方法
PHPを使って都道府県のセレクトフォーム作成するサンプルコードです。
また、HTML版も紹介しておきます。
目次
都道府県選択のセレクトフォーム作成サンプル
配列に変換可能な都道府県のJSONデータや配列データを用意します。
サンプルはJSONデータからjson_decode()でPHPの配列に変換して処理をしています。
$json = '{
"01": {
"code": "01",
"name": "北海道",
"roma": "Hokkaidô"
},
"02": {
"code": "02",
"name": "青森県",
"roma": "Aomori"
},
"03": {
"code": "03",
"name": "岩手県",
"roma": "Iwate"
},
"04": {
"code": "04",
"name": "宮城県",
"roma": "Miyagi"
},
"05": {
"code": "05",
"name": "秋田県",
"roma": "Akita"
},
"06": {
"code": "06",
"name": "山形県",
"roma": "Yamagata"
},
"07": {
"code": "07",
"name": "福島県",
"roma": "Hukusima"
},
"08": {
"code": "08",
"name": "茨城県",
"roma": "Ibaraki"
},
"09": {
"code": "09",
"name": "栃木県",
"roma": "Totigi"
},
"10": {
"code": "10",
"name": "群馬県",
"roma": "Gunma"
},
"11": {
"code": "11",
"name": "埼玉県",
"roma": "Saitama"
},
"12": {
"code": "12",
"name": "千葉県",
"roma": "Tiba"
},
"13": {
"code": "13",
"name": "東京都",
"roma": "Tôkyô"
},
"14": {
"code": "14",
"name": "神奈川県",
"roma": "Kanagawa"
},
"15": {
"code": "15",
"name": "新潟県",
"roma": "Niigata"
},
"16": {
"code": "16",
"name": "富山県",
"roma": "Toyama"
},
"17": {
"code": "17",
"name": "石川県",
"roma": "Isikawa"
},
"18": {
"code": "18",
"name": "福井県",
"roma": "Hukui"
},
"19": {
"code": "19",
"name": "山梨県",
"roma": "Yamanasi"
},
"20": {
"code": "20",
"name": "長野県",
"roma": "Nagano"
},
"21": {
"code": "21",
"name": "岐阜県",
"roma": "Gihu"
},
"22": {
"code": "22",
"name": "静岡県",
"roma": "Sizuoka"
},
"23": {
"code": "23",
"name": "愛知県",
"roma": "Aiti"
},
"24": {
"code": "24",
"name": "三重県",
"roma": "Mie"
},
"25": {
"code": "25",
"name": "滋賀県",
"roma": "Siga"
},
"26": {
"code": "26",
"name": "京都府",
"roma": "Kyôto"
},
"27": {
"code": "27",
"name": "大阪府",
"roma": "Ôsaka"
},
"28": {
"code": "28",
"name": "兵庫県",
"roma": "Hyôgo"
},
"29": {
"code": "29",
"name": "奈良県",
"roma": "Nara"
},
"30": {
"code": "30",
"name": "和歌山県",
"roma": "Wakayama"
},
"31": {
"code": "31",
"name": "鳥取県",
"roma": "Tottori"
},
"32": {
"code": "32",
"name": "島根県",
"roma": "Simane"
},
"33": {
"code": "33",
"name": "岡山県",
"roma": "Okayama"
},
"34": {
"code": "34",
"name": "広島県",
"roma": "Hirosima"
},
"35": {
"code": "35",
"name": "山口県",
"roma": "Yamaguti"
},
"36": {
"code": "36",
"name": "徳島県",
"roma": "Tokusima"
},
"37": {
"code": "37",
"name": "香川県",
"roma": "Kagawa"
},
"38": {
"code": "38",
"name": "愛媛県",
"roma": "Ehime"
},
"39": {
"code": "39",
"name": "高知県",
"roma": "Kôti"
},
"40": {
"code": "40",
"name": "福岡県",
"roma": "Hukuoka"
},
"41": {
"code": "41",
"name": "佐賀県",
"roma": "Saga"
},
"42": {
"code": "42",
"name": "長崎県",
"roma": "Nagasaki"
},
"43": {
"code": "43",
"name": "熊本県",
"roma": "Kumamoto"
},
"44": {
"code": "44",
"name": "大分県",
"roma": "Ôita"
},
"45": {
"code": "45",
"name": "宮崎県",
"roma": "Miyazaki"
},
"46": {
"code": "46",
"name": "鹿児島県",
"roma": "Kagosima"
},
"47": {
"code": "47",
"name": "沖縄県",
"roma": "Okinawa"
}
}';
$array = json_decode($json, true);
foreach ($array as $key => $value) {
$todoufuken .= '<option value="'.$value['code'].'">'.$value['name'].'</option>';
}
$form = '<form action="" method="POST">
<p><select name="todoufuken">'.$todoufuken.'</select></p>
<p><input type="submit" value="送信" /></p>
</form>';
echo $form;
サンプルではフォームで送信する値は都道府県コード(code)にしてありますが、送信先の処理にあわせて都道府県名(name)やローマ字表記(roma)に変更して利用できます。
表示結果
都道府県選択フォームのHTMLコード
PHPによる処理をせず、そのままHTMLとして書き出す用のHTMLコードです。
内容はPHPで生成したものと同じです。
送信する値(都道府県コード)
フォームで送信するデータの都道府県コードです。
<form action="" method="POST">
<p><select name="blood">
<option value="01">北海道</option>
<option value="02">青森県</option>
<option value="03">岩手県</option>
<option value="04">宮城県</option>
<option value="05">秋田県</option>
<option value="06">山形県</option>
<option value="07">福島県</option>
<option value="08">茨城県</option>
<option value="09">栃木県</option>
<option value="10">群馬県</option>
<option value="11">埼玉県</option>
<option value="12">千葉県</option>
<option value="13">東京都</option>
<option value="14">神奈川県</option>
<option value="15">新潟県</option>
<option value="16">富山県</option>
<option value="17">石川県</option>
<option value="18">福井県</option>
<option value="19">山梨県</option>
<option value="20">長野県</option>
<option value="21">岐阜県</option>
<option value="22">静岡県</option>
<option value="23">愛知県</option>
<option value="24">三重県</option>
<option value="25">滋賀県</option>
<option value="26">京都府</option>
<option value="27">大阪府</option>
<option value="28">兵庫県</option>
<option value="29">奈良県</option>
<option value="30">和歌山県</option>
<option value="31">鳥取県</option>
<option value="32">島根県</option>
<option value="33">岡山県</option>
<option value="34">広島県</option>
<option value="35">山口県</option>
<option value="36">徳島県</option>
<option value="37">香川県</option>
<option value="38">愛媛県</option>
<option value="39">高知県</option>
<option value="40">福岡県</option>
<option value="41">佐賀県</option>
<option value="42">長崎県</option>
<option value="43">熊本県</option>
<option value="44">大分県</option>
<option value="45">宮崎県</option>
<option value="46">鹿児島県</option>
<option value="47">沖縄県</option>
</select></p>
<p><input type="submit" value="送信" /></p>
</form>
送信する値(ローマ字版)
フォームで送信するデータのローマ字版です。
<form action="" method="POST">
<p><select name="blood">
<option value="Hokkaidô">北海道</option>
<option value="Aomori">青森県</option>
<option value="Iwate">岩手県</option>
<option value="Miyagi">宮城県</option>
<option value="Akita">秋田県</option>
<option value="Yamagata">山形県</option>
<option value="Hukusima">福島県</option>
<option value="Ibaraki">茨城県</option>
<option value="Totigi">栃木県</option>
<option value="Gunma">群馬県</option>
<option value="Saitama">埼玉県</option>
<option value="Tiba">千葉県</option>
<option value="Tôkyô">東京都</option>
<option value="Kanagawa">神奈川県</option>
<option value="Niigata">新潟県</option>
<option value="Toyama">富山県</option>
<option value="Isikawa">石川県</option>
<option value="Hukui">福井県</option>
<option value="Yamanasi">山梨県</option>
<option value="Nagano">長野県</option>
<option value="Gihu">岐阜県</option>
<option value="Sizuoka">静岡県</option>
<option value="Aiti">愛知県</option>
<option value="Mie">三重県</option>
<option value="Siga">滋賀県</option>
<option value="Kyôto">京都府</option>
<option value="Ôsaka">大阪府</option>
<option value="Hyôgo">兵庫県</option>
<option value="Nara">奈良県</option>
<option value="Wakayama">和歌山県</option>
<option value="Tottori">鳥取県</option>
<option value="Simane">島根県</option>
<option value="Okayama">岡山県</option>
<option value="Hirosima">広島県</option>
<option value="Yamaguti">山口県</option>
<option value="Tokusima">徳島県</option>
<option value="Kagawa">香川県</option>
<option value="Ehime">愛媛県</option>
<option value="Kôti">高知県</option>
<option value="Hukuoka">福岡県</option>
<option value="Saga">佐賀県</option>
<option value="Nagasaki">長崎県</option>
<option value="Kumamoto">熊本県</option>
<option value="Ôita">大分県</option>
<option value="Miyazaki">宮崎県</option>
<option value="Kagosima">鹿児島県</option>
<option value="Okinawa">沖縄県</option>
</select></p>
<p><input type="submit" value="送信" /></p>
</form>
送信する値(都道府県名)
フォームで送信するデータの都道府県名版です。
<form action="" method="POST">
<p><select name="blood">
<option value="北海道">北海道</option>
<option value="青森県">青森県</option>
<option value="岩手県">岩手県</option>
<option value="宮城県">宮城県</option>
<option value="秋田県">秋田県</option>
<option value="山形県">山形県</option>
<option value="福島県">福島県</option>
<option value="茨城県">茨城県</option>
<option value="栃木県">栃木県</option>
<option value="群馬県">群馬県</option>
<option value="埼玉県">埼玉県</option>
<option value="千葉県">千葉県</option>
<option value="東京都">東京都</option>
<option value="神奈川県">神奈川県</option>
<option value="新潟県">新潟県</option>
<option value="富山県">富山県</option>
<option value="石川県">石川県</option>
<option value="福井県">福井県</option>
<option value="山梨県">山梨県</option>
<option value="長野県">長野県</option>
<option value="岐阜県">岐阜県</option>
<option value="静岡県">静岡県</option>
<option value="愛知県">愛知県</option>
<option value="三重県">三重県</option>
<option value="滋賀県">滋賀県</option>
<option value="京都府">京都府</option>
<option value="大阪府">大阪府</option>
<option value="兵庫県">兵庫県</option>
<option value="奈良県">奈良県</option>
<option value="和歌山県">和歌山県</option>
<option value="鳥取県">鳥取県</option>
<option value="島根県">島根県</option>
<option value="岡山県">岡山県</option>
<option value="広島県">広島県</option>
<option value="山口県">山口県</option>
<option value="徳島県">徳島県</option>
<option value="香川県">香川県</option>
<option value="愛媛県">愛媛県</option>
<option value="高知県">高知県</option>
<option value="福岡県">福岡県</option>
<option value="佐賀県">佐賀県</option>
<option value="長崎県">長崎県</option>
<option value="熊本県">熊本県</option>
<option value="大分県">大分県</option>
<option value="宮崎県">宮崎県</option>
<option value="鹿児島県">鹿児島県</option>
<option value="沖縄県">沖縄県</option>
</select></p>
<p><input type="submit" value="送信" /></p>
</form>
ディスカッション
コメント一覧
まだ、コメントがありません