2016-03-27 10 views
1

如何從startdate填充週數並結束到下拉菜單? 假設我想在本月內獲得所有星期。但是,那麼如何將它們填充到下拉菜單的幾周?如何填充從startdate開始的幾周並結束到下拉菜單?

到目前爲止,我已經試過這樣:

<?php 
$start = "2016-03-01"; 
$end = "2016-03-31";  
$first_day = $start.' first Sunday of this month'; 
$first_day = date_create($first_day); 
$first_day = $first_day->format('Y-m-d'); 
$last_day = $start.' last Saturday of this month'; 
$last_day = date_create($last_day); 
$last_day = $last_day->format('Y-m-d'); 

if($start != $first_day) { 
$date_str = $start.' last Sunday of last month'; 
$start_date = date_create($date_str); 
$start_date = $start_date->format('Y-m-d'); 
} 
else { 
$start_date = $start;  
} 

if($end != $last_day) { 
$date_str = $end.' first Saturday of next month'; 
$end_date = date_create($date_str); 
$end_date= $end_date->format('Y-m-d'); 
} 
else { 
$end_date = $end;  
} 
?> 

//result 
//start_date = "2016-02-28"; 
//end_date= "2016-04-02"; 

上面的代碼給我一套完整週的開始日期和結束日期在一個月內,其中星期天爲第一和星期六爲最後一天一週。但是,我希望根據開始日期和結束日期將週數填入下拉列表中。怎麼做?

我想下面的值輸出到一個下拉列表:

<select> 
<option value="2016-02-28 to 2016-03-05">Week 1</option> 
<option value="2016-03-06 to 2016-03-15">Week 2</option> 
<option value="2016-03-13 to 2016-03-19">Week 3</option> 
<option value="2016-03-20 to 2016-03-26">Week 4</option> 
<option value="2016-03-27 to 2016-04-02">Week 5</option> 
</select> 

請指教如何填充以上輸出到使用jQuery或PHP下拉。

+0

您是否必須在服務器中執行此操作? –

+0

你是什麼意思?我只需要在本地服務器上執行此操作,並僅填寫給定開始日期和結束日期的週數。 – EDDY

+0

嘗試從頭到尾循環,每個循環增加7天。 –

回答

2

試試這個:

<select> 
<?php 
    $start_month = "2016-03-01"; 
    $end_month = "2016-03-31"; 
    while (strtotime($start_month) <= strtotime($end_month)) { 
     $week_start = date('Y-m-d',strtotime($start_month.' last Sunday')); 
     $week_end = date('Y-m-d',strtotime($start_month.' Saturday this week')); 
?> 

<option value='<?php echo $week_start." to ".$week_end; ?>' > 
    <?php echo $week_start." to ".$week_end; ?> 
</option>  

<?php $start_month = date("Y-m-d", strtotime($start_month." +7 days")); 

} ?> 
</select> 

希望這有助於。

+0

Hooray!這正是我需要的!成千上萬的人感謝你,朋友。 – EDDY

+0

不客氣,蓓蕾。乾杯! :) –