2012-09-15 100 views
1

我正在爲客戶建立一個網站(我是一個試圖學習代碼的設計師),並有三個選擇。選擇/下拉菜單反映當前日期?

它看起來像這樣:

enter image description here

現在客戶想要的抵達日期,以反映在所有的選擇的當前日期。我怎樣才能用PHP完成這項工作?

感謝您的幫助!

回答

2

使用DateTime

$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> 
+0

感謝這麼多偉大的答案! – Muhambi

2
<?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>