とりあえずの備忘録

主にパソコンやインターネットに関するメモ

PHP フォームに都道府県の選択メニューを作成する

フォーム内に都道府県を選択するセレクトボックスを作成する

「全体の処理」

<?php
//都道府県リスト
$menu_array = array('都道府県を選択','北海道','青森県','岩手県','宮城県','秋田県','山形県','福島県','茨城県','栃木県','群馬県','埼玉県','千葉県','東京都','神奈川県','山梨県','長野県','新潟県','富山県','石川県','福井県','岐阜県','静岡県','愛知県','三重県','滋賀県','京都府','大阪府','兵庫県','奈良県','和歌山県','鳥取県','島根県','岡山県','広島県','山口県','徳島県','香川県','愛媛県','高知県','福岡県','佐賀県','長崎県','熊本県','大分県','宮崎県','鹿児島県','沖縄県');

 

//メニューの名前
$menu_name = 'prefecture';

//選択状態にするvalue値
$sel_value = 13;

//セレクトボックス作成関数呼び出し
$menu_tag = GetSelectBoxTag($menu_array, $menu_name, $sel_value);

//出力
echo $menu_tag;
?>

「セレクトボックス作成関数」

<?php
function GetSelectBoxTag($p_array, $p_name, $p_sel_value = '') {
  $m_tag = '';

  //パラメータ値のチェック
  if (!is_array($p_array) || empty($p_array) || empty($p_name)) {
    return $m_tag;
  }

  $m_tag .= '<select name="' . $p_name . '">';
  foreach ($p_array as $key => $value) {
    $m_tag .= '<option value="' . $key . '"';
    //選択状態にするか調べる
    if ($key==$p_sel_value) $m_tag .= ' selected';
    $m_tag .= '>' . $value . '</option>';
  }
  $m_tag .= '</select>';

  return $m_tag;
}
?>

「出力結果」

<select name="prefecture">
<option value="0">都道府県を選択</option>
<option value="1">北海道</option>
<option value="2">青森県</option>
<option value="3">岩手県</option>
<option value="4">宮城県</option>
<option value="5">秋田県</option>
<option value="6">山形県</option>
<option value="7">福島県</option>
<option value="8">茨城県</option>
<option value="9">栃木県</option>
<option value="10">群馬県</option>
<option value="11">埼玉県</option>
<option value="12">千葉県</option>
<option value="13" selected>東京都</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>