2014-02-05 128 views
1

我認爲這很簡單,只是不是一個PHP編碼器。研究和閱讀帖子我把我的問題縮小到這段代碼,但不知道如何編輯。發現並嘗試發現錯誤。

以下代碼正常工作,併爲我提供當前日期(今天)和前6天的結果。我想嘗試和改變,而不是獲得過去我想展示未來的事件。所以今天和未來6天。

$i=0; 
while ($i<=6){ 
    $labeldate=date('m/d',mktime(0,0,0,$sm,$sd-$i,$sy)); 
    $_SESSION['statistic_week'] = date('Y-m-d',mktime(0,0,0,$sm,$sd-$i,$sy)); 

    $statistic = querySQL('statistic_week_def'); 
    foreach ($statistic as $row) { 
     $statistic_week_def[$i] = ($row->paxsum) ? $row->paxsum : 0; 
    } 
    $labels[] = $labeldate; 

$i++; 
} 
+3

試'$ SD + i'代替'$ SD-i'這樣'$ labeldate =日期( 'M/d',mktime(0,0,0,$ SM,$ sd + $ i,$ sy));' –

+0

僅更新此語句$ _SESSION ['statistic_week'] = date('Ym-d',mktime(0,0,0,$ sm,$ sd + $ i,$ sy) ); –

回答

0

在日期函數中使用+ $ i而不是 - $ i,這會增加日子而不是減去它們。

$i=0; 
while ($i<=6){ 
    $labeldate=date('m/d',mktime(0,0,0,$sm,$sd+$i,$sy)); 
    $_SESSION['statistic_week'] = date('Y-m-d',mktime(0,0,0,$sm,$sd+$i,$sy)); 

    $statistic = querySQL('statistic_week_def'); 
    foreach ($statistic as $row) { 
     $statistic_week_def[$i] = ($row->paxsum) ? $row->paxsum : 0; 
    } 
    $labels[] = $labeldate; 

$i++; 
} 
+0

這工作...謝謝大家。我知道這很簡單,但超越了我。 – gman

0
<?php 
    $i = 0; 
    while ($i <= 6) { 
     $time = mktime(0, 0, 0, $sm, $sd + $i, $sy) 
     $labeldate = date('m/d', $time); 
     $_SESSION['statistic_week'] = date('Y-m-d', $time); 
     $statistic = querySQL('statistic_week_def'); 
     foreach ($statistic as $row) { 
      $statistic_week_def[$i] = ($row->paxsum) ? $row->paxsum : 0; 
     } 
     $labels[] = $labeldate; 
     $i++; 
    } 
?>