2011-06-19 9 views
0

私は、ブログメニューとして使用する日付内の投稿の日付と件数を表示する機能を作成しましたが、部分的にしか機能しません。PHP - 日付でブログメニューを表示する

関数が呼び出されている:

function displayBlogMenu() 
{ 
    blogDBSelect(); 
    $sql = "SELECT datePosted FROM blog_entries"; 
    $results = mysql_query($sql);   
    while($post = mysql_fetch_array($results)) 
    { 
     $startDate = date('Y-m-01', strtotime($post['datePosted'])); 
     $endDate = date('Y-m-01', strtotime("+1 month", strtotime($post['datePosted']))); 
     $sql2 = "SELECT * FROM blog_entries WHERE datePosted >= '$startDate' AND datePosted < '$endDate'"; 
     $results2 = mysql_query($sql2); 
     $count = mysql_num_rows($results2); 
    }         
    echo '<a href="">'.date('F, Y', strtotime($startDate)).' ('.$count.' Posts)</a><br>'; 
} 

は、私は、関数のようなリンクとして日付を返すようにしたい:あなたがすることができるように見えます

June, 2011 (10 Posts) 
July, 2011 (2 Posts) 
+0

私は、シンプルなWHERE date = '?'あなたの質問の条件はそうするでしょう。そして、取り出された行を数えます。 – froditus

+0

私はすでにどこの日付=条件を持っています。例えば1ヶ月間に10個の投稿がある場合、私はエコーを一度投稿したいだけです。カウントはすでに動作しています。 – Chris

+0

「一度エコーを鳴らしたいだけです」とどういう意味ですか? – froditus

答えて

4

その1つのクエリによって

SELECT Date_format(dateposted, '%M, %Y'), 
     COUNT(*) AS cc 
FROM blog_entries 
GROUP BY YEAR(dateposted), 
      MONTH(dateposted) 
ORDER BY COUNT(*) DESC, 
      dateposted DESC 
関連する問題