2013-03-21 27 views
1

我有一個下拉,我想填充從去年的日期上升到未來5年,但我希望它自動更新每一個一年的PHP。我怎樣才能自動填充一個下拉列表與多年的未來與php

如果我展示我想要結束的事情比試圖解釋可能更容易。

今年的下拉應該

<select> 
    <option>2012-08-31</option> 
    <option>2013-08-31</option> 
    <option>2014-08-31</option> 
    <option>2015-08-31</option> 
</select> 

而且nextYears下拉應該

<select> 
    <option>2013-08-31</option> 
    <option>2014-08-31</option> 
    <option>2015-08-31</option> 
    <option>2016-08-31</option> 
</select> 

等。

有人有什麼想法嗎?

+0

是存儲在數據庫中的日期和月份31-08? – Arunu 2013-03-21 10:23:50

+2

你應該告訴我們你已經嘗試了什麼,它不是一個「給我解決方案,請」網站。 – Voitcus 2013-03-21 10:24:39

回答

1

你可以做這樣的

function getNextYears($fromDate, $nbYears) 
{ 
    $time = strtotime($fromDate); 
    $dates = array(); 

    for ($i=0; $i<$nbYears; $i++) { 
     $dates[] = date('Y-m-d', mktime(0, 0, 0, date('m', $time), date('d', $time), date('Y', $time)+$i));   
    } 

    return $dates; 
} 
+0

感謝所有的建議,從他們身上學到了一些東西,但這個人做到了。 – 2013-03-21 10:44:55

1

增加年限?

for($i=date('Y'); $i<date('Y')+5; $i++){ 
    echo '<option>'.$i.date('-m-d').'</option>'; 
} 

不過還好有mktime

1

發揮對於添加的一年,你可以使用

echo date('Y-m-d H:i:s', strtotime('+1 year')); 

以附加作爲多年

for($i=1;$i<=5;$i++) 
{ 
echo date('Y-m-d H:i:s', strtotime('+'.$i.' year')); 
} 

與選擇框

使用它
<select name="years"> 
for($i=1;$i<=5;$i++) 
    { 
    ?> 
    <option value="<?php echo date('Y-m-d H:i:s', strtotime('+'.$i.' year')); ?>"><?php echo date('Y-m-d H:i:s', strtotime('+'.$i.' year')); ?></option> 
    <?php 
    } 
    ?> 
</select> 
0

像這樣的功能可以幫助你

<?php 

$start_year = date('Y')-1; 
$end_year = $start_year+5; 

for($i=$start_year; $i<=$end_year; $i++) 
{ 
    echo '<option>'.$i.date('-m-d').'</option>'; 
} 

?>

+0

只想知道關於「-08-31」你是如何到達那裏的..是固定的..還是從數據庫...或什麼..? – alwaysLearn 2013-03-21 10:37:00

+0

這是一個學年的日期 – 2013-03-21 10:44:21

相關問題