Estoy intentando crear un sistema de archive como fotolog, osea, que muestre en un listado los meses en los que publiqué algun post y este listado esté dentro de un listado de años.
2009
enero (1)
febrero (0)
....
2008
enero (2)
febrero (5)
....
Para ello hago una consulta para saber si publiqué algun post (en la categoria 9)cada año, esta primera consulta realiza una segunda para saber cuantos posts publiqué cada mes de cada año.
Viene a ser esto:
Código PHP:
echo "<ul id='archivo_submenu'>";
$consulta_ano_blog = "SELECT DISTINCT YEAR( fecha ) AS anio FROM tabla WHERE cat = 9 GROUP BY YEAR( fecha ) ORDER BY fecha desc";
$resultado_ano_blog = mysql_query($consulta_ano_blog);
while ($rab = mysql_fetch_row($resultado_ano_blog)){
echo "<li class='year'>\n";
echo "<h5><a href='$rab[0]'>$rab[0]</a></h5>\n";
if ($rab[0] == 2009){
echo "<ul id='months2009' class='selected'>\n";
} else {
echo "<ul id='months$rab[0]'>\n";
$consulta_mes_blog = "SELECT CASE MONTH( fecha )
WHEN 1
THEN 'enero'
WHEN 2
THEN 'febrero'
WHEN 3
THEN 'marzo'
WHEN 4
THEN 'abril'
WHEN 5
THEN 'mayo'
WHEN 6
THEN 'junio'
WHEN 7
THEN 'julio'
WHEN 8
THEN 'agosto'
WHEN 9
THEN 'septiembre'
WHEN 10
THEN 'octubre'
WHEN 11
THEN 'noviembre'
WHEN 12
THEN 'diciembre'
END AS mes,
count(fecha) AS posts
FROM tabla
WHERE cat = 9 AND YEAR(fecha) = $rab[0]
GROUP BY MONTH( fecha )
ORDER BY fecha asc";
$resultado_mes_blog = mysql_query($consulta_mes_blog);
while ($rmb = mysql_fetch_row($resultado_mes_blog)){
echo "<li><a href='#' title='#'>$rmb[0] ($rmb[1])</a></li>\n";
};
mysql_free_result($resultado_mes_blog);
echo "</ul>\n">;
echo "</li>\n">;
};
mysql_free_result($resultado_ano_blog);
echo "</ul>\n";