私はクライアント (私はコーディングを学ぼうとしているデザイナーです) のために Web サイトを構築しており、3 つの選択肢があります。
次のようになります。
ここで、クライアントは到着日がすべての選択で現在の日付を反映することを望んでいます。PHPでこれを達成するにはどうすればよいですか?
助けてくれてありがとう!
<?php
$date = new DateTime();
$months = array(1 => 'Jan', 2 => 'Feb', 3 => 'Mar', 4 => 'Apr', 5 => 'May', 6 => 'Jun', 7 => 'Jul', 8 => 'Aug', 9 => 'Sep', 10 => 'Oct', 11 => 'Nov', 12 => 'Dec');
?>
<select name="month">
<?php foreach($months as $key => $month) { ?>
<?php $default_month = ($key == $date->format('m'))?'selected':''; ?>
<option <?php echo $default_month; ?> value="<?php echo $key; ?>">
<?php echo $month; ?>
</option>
<?php } ?>
</select>
<select name="day">
<?php for($day = 1; $day <= 31; $day++) { ?>
<?php $default_day = ($day == $date->format('d'))?'selected':''; ?>
<option <?php echo $default_day; ?> value="<?php echo $day; ?>">
<?php echo $day; ?>
</option>
<?php } ?>
</select>
<select name="year">
<?php for($year = $date->format('Y'); $year <= 2020; $year++) { ?>
<option value="<?php echo $year; ?>">
<?php echo $year; ?>
</option>
<?php } ?>
</select>
日時を使用
$date = new DateTime();
$day = $date->format('d');
$month = $date->format('m');
$year = $date->format('Y');
次に、選択を生成するときに
<select name="day">
<?php
for($i = 1; $i <= 31; $i++)
{
printf('<option value="%d" %s>%d</option>', $i, $i == $day ? 'selected="selected"' : '', $i);
}
?>
</select>