PHP | 年月日のセレクトフォームを作成する方法
2020-09-01PHP フォーム,PHP
PHPで年のみ年月、年月日のセレクトフォームを作成するサンプルコードです。
年のみのセレクトフォームを作成
年の期間を指定してセレクトフォームを作成
範囲をループ処理で作成していきます。サンプルでは1980年~2020年までのセレクトフォームを作成しています。
for ($i=1980; $i <= 2020; $i++) {
$year .= '<option value="'.$i.'">'.$i.'年</option>';
}
echo '<select name="year">'.$year.'</select>';
表示結果
期間内の初期値を指定する場合
初期値に該当する場合に、selectedを付与しています。
for ($i=1980; $i <= 2020; $i++) {
if($i == 2000){
$year .= '<option value="'.$i.'" selected>'.$i.'年</option>';
}else{
$year .= '<option value="'.$i.'">'.$i.'年</option>';
}
}
echo '<select name="year">'.$year.'</select>';
表示結果
年月のセレクトフォームを作成
年の期間を指定してセレクトフォームを作成
年月を一括でセレクトフォームにする為に、年のループ処理の中に月のループ処理を追加しています。
for ($i=2000; $i <= 2020; $i++) {
for ($ii=1; $ii <= 12; $ii++) {
$nengetu .= '<option value="'.$i.'-'.$ii.'">'.$i.'年'.$ii.'月</option>';
}
}
echo '<select name="nengetu">'.$nengetu.'</select>';
表示結果
input type="month"を使う
範囲が広い場合はinput type="month"を使った方が、ユーザビリティも良くなるかもです。送信される値は「YYYY-MM」になります。
<input type="month" name="nengetu" min="2000-01" max="2020-12">
表示結果
年月日のセレクトフォームを作成
生年月日(誕生日)の入力欄などに。
個別にセレクトフォームを作成
for ($i=1920; $i <= 2020; $i++) {
$year .= '<option value="'.$i.'">'.$i.'年</option>';
}
for ($i=1; $i <= 12; $i++) {
$month .= '<option value="'.$i.'">'.$i.'月</option>';
}
for ($i=1; $i <= 31; $i++) {
$day .= '<option value="'.$i.'">'.$i.'日</option>';
}
echo '<form>
<select name="year">'.$year.'</select>
<select name="month">'.$month.'</select>
<select name="day">'.$day.'</select>
</form>';
表示結果
input type="date"を使う
またinput type="date"を使う事で表示スタイルにブラウザ依存はありますが、簡単に実装する事が可能です。送信される値は「YYYY-MM-DD」になります。
<input type="date">
表示結果
ディスカッション
Its not my first time to pay a quick visit this website, i am browsing
this website dailly and take pleasant information from here everyday.