Php: sistema de arquivos como blog

No meu site, eu tenho uma página de “notícias” onde o cliente pode adicionar um número ilimitado de notícias (as datas são armazenadas no database (com CURRENT_TIMESTAMP)).

Por exemplo, quando o usuário clicar em julho, apenas as novidades de julho serão exibidas na página.

Por enquanto, eu só tenho isso:

query("SELECT dateNews FROM news GROUP BY dateNews"); while($data = $q->fetch()){ $dateMonth= $data['dateNews']; echo "

".strftime('%B %Y', strtotime($dateMonth))."

"; } ?>

“>

Mas eu quero isso:

https://imagizer.imageshack.us/v2/848x381q90/905/wDH7bi.png

Minhas datas estão listadas corretamente, mas eu realmente não sei como resolver o problema.

Alguém pode me ajudar, por favor ?

EDITAR:

Depois de muita pesquisa, encontrei uma solução para mesclar os mesmos meses:

 query("SELECT YEAR(dateNews) AS YEAR, MONTH(dateNews) AS MONTH, COUNT(*) AS newsCount FROM news GROUP BY YEAR, MONTH"); while($data = $q->fetch()){ $dateMonth = $data['MONTH']; echo "

".utf8_encode(strftime('%B %Y', strtotime($dateMonth)))." (" . $data['newsCount'] . ")

"; } ?>

Os meses estão corretamente mesclados, mas agora tenho outro problema que não consigo resolver:

https://imagizer.imageshack.us/v2/813x334q90/540/cks3fp.png

Eu realmente não sei o que fazer ou a forma de fazer. Alguém sabe alguma coisa?