KH-WEBLOG TOP > WEBメモ > PHP > 生年月日をプルダウンで自動で作成:PHP

生年月日をプルダウンで自動で作成:PHP

フォームなどで生年月日を入力してもらうときに
テキストにするか、プルダウンにするか悩んだすえ
やっぱりプルダウンのほーが使いやすいかと思ったので、
今回は生年月日のプルダウンをPHPで自動生成するやり方をメモ。

サンプル

PHP記述

西暦 
//年のプルダウン
<select name="year">
      <option value="">選択</option>
<?php
for ($y=1900;$y<date(Y)+1;$y++){  //(最小値;現在の年;$y++)
	$sel="";
    //選択された値があれば$selにselected="selected"を格納
	if($_SESSION["year"] == $y) { $sel = "selected='selected'"; }
    //出力
       print '<option value="'.$y.'"'.$sel.'>' . $y . "</option>\n";
}
?>
</select>年
//月のプルダウン
<select name="mon">
        <option value="">選択</option>
<?php
for ($m=01;$m<=12;$m++){  //(最小値;最大値;$m++)
	$sel = "";
        //選択された値があれば$selにselected="selected"を格納
	if($_SESSION["mon"] == $m) { $sel = "selected='selected'"; }
        //出力
         print '<option value="'.sprintf("%02d",$m).'"'.$sel.'>' . sprintf("%02d",$m) . "</option>\n";
}
?>
</select>月 
//日のプルダウン
<select name="day">
          <option value="">選択</option>
<?php
	for ($d=01;$d<=31;$d++){  //(最小値;最大値;$d++)
	$sel = "";
        //選択された値があれば$selにselected="selected"を格納
	if($_SESSION["day"] == $d) { $sel = "selected='selected'"; }
        //出力
        print '<option value="'.sprintf("%02d",$d).'"'.$sel.'>' . sprintf("%02d",$d) . "</option>\n";
}
?>
</select> 日

てな感じでOK。

sprintf(“%02d”,$m)などの部分に使っている
sprintf()関数は、文字列を指定書式へ整形する関数です。

■指定書式の例

  • 「%s」:文字列を出力
  • 「%d」:数字を出力
  • 「%02d」:2桁の数字を出力します。数字が2桁に満たない場合には0で埋めます。(例:1→01)
  • 「%.2f」:小数点2桁までを出力します。(例:3.14159→3.14)

つまりsprintf(“%02d”,$m)という部分は
1/2/3/…..10/11/12/
 ↓ 上記の書式を変換
01/02/03/…..10/11/12/
というふうに頭に0を挿入する場合に必要になります。

TAGS

.htaccess ActionScript All in one seo pack Contact Form 7 CSS CSS3 EC-CUBE Flash HTML HTML5 JavaScript jQuery LightBox PHP SEO WordPress アイキャッチ画像 アクセス解析 カテゴリー カラーミーショップ カート コメント ショートコード ソースコード タグ テンプレートタグ ドロップダウンメニュー パーマリンク ビジュアルエディタ フォーム フルスクリーン プラグイン ページテンプレート ページナビ ページ分割 マウスイベント リダイレクト リンク レンタルサーバー ロールオーバー 携帯サイト 条件分岐 正規表現 角丸 関連記事