フロントの人の雑多メモ

【PHP】最新年から過去100年のselect optionタグを自動生成するサンプル

【PHP】最新年から過去100年のselect optionタグを自動生成するサンプル

PHPで最新年から100年前までのセレクトボックスを出力するサンプルプログラム

特定年を初期値に設定しておくパターンなどをご紹介。

JavaScriptバージョンは下記記事で紹介しています。

【JS】今年から100年前までのselect optionタグを生成するサンプル

<select>
<?php
$dateY = (int) date('Y');
$past = 100; //年前まで
for($i = 0; $i < $past; ++$i):
$year = $dateY - $i; ?>
	<option value="<?= $year; ?>"><?= $year; ?></option>
<?php endfor; ?>
</select>

PHP 5.4.0より前とかで、<?=?>が使えない方は、
<?= $year; ?>を<?php echo $year; ?>に置き換えてくださいね。

採用サイトなどでいかがでしょう

ターゲット層がある程度決まってるなら、こういう配慮をしましょう!

<select>
<?php
$dateY = (int) date('Y');
$past = 100; //年前まで
$select = 22; //年前を初期値に
for($i = 0; $i < $past; ++$i):
$year = $dateY - $i;

$prop = '';
if($i == $select){
	$prop = ' selected';
}
?>
	<option value="<?= $year; ?>"<?= $prop; ?>><?= $year; ?></option>
<?php endfor; ?>
</select>

こちらも<?=?>が使えない方は、echoに置き換えてくださいね。

これも、採用サイトなどの大学卒業(予定)年などでいかがでしょう?

<select>
<?php
$dateY = (int) date('Y');
$start = 2; //年後から
$past = 100; //年前まで
$dateY += $start;
for($i = 0; $i < $past; ++$i):
$year = $dateY - $i; ?>
	<option value="<?= $year; ?>"><?= $year; ?></option>
<?php endfor; ?>
</select>

PHP 5.4.0より前とかで、<?=?>が使えない方は、
<?= $year; ?>を<?php echo $year; ?>に置き換えてくださいね。

さすがに、毎年手動で更新なんてしてないですよね...?

ミスも発生しますので、こういう自動化できる部分は自動化しましょう!

コメント

内容を確認の上、個人情報などは省いて掲載させていただきます。

直接送信されます。確認の上、「送信」してください。

シェア

Twitterでシェア Facebookでシェア LINEでシェア はてなブックマークでシェア