2012-03-16 6 views
0

今日からデータベースの最も古いレコードまでの月のリストを作成しようとしています。 ループが最古の月になる前に停止することを除いて、素晴らしいことです。ここに私のコードは次のとおりです。PHPブログアーカイブの月間をループする

echo $oldest_entry; //2012-01-31 
$end = strtotime($oldest_entry); 
$month = strtotime(date('Y-m-d')); 
$year = ""; 
while($month >= $end) 
{ 
    if(date('Y', $month) != $year){ 
     echo "<b>".date('Y', $month)."</b><br/>"; 
     $year = date('Y', $month); 
    } 
    echo date('F', $month)."<br/>"; 
    $month = strtotime("-1 month", $month); 
} 

それは出力:

2月

1月に取得していません。私はここで間違って何をしていますか?私は=を>に追加することでこれを修正すると思ったが、そうしなかった。

答えて

4

2012-01-16 >= 2012-01-31がfalseであるため、1月が印刷されません。

日付を省略してください。あなたの比較では、年と月のみを使用してください。