Hola.
Os pongo el código que he creado con la idea de
alvlin (gracias) por si a alguien le puede servir o por si quereis hacer alguna sugerencia
Código PHP:
$ano_anterior = 0;
$mes_anterior = 0;
$mes_printed = 0;
$ani_printed = 0;
$sql = mysql_query("SELECT * FROM noticias ORDER BY fecha DESC");
while($noticia = mysql_fetch_array($sql)) {
$fecha = explode("-", $noticia['fecha']);
if($fecha[0]!=$ano_anterior) {
if($mes_printed==1) {
echo " </ul>\n";
}
if($ani_printed==1) {
echo " </ul>\n";
}
echo " <h2>".$fecha[0]."</h2>\n";
echo " <ul>\n";
$mes_printed = 0;
$mes_anterior = 0;
}
if($fecha[1]!=$mes_anterior) {
if($mes_printed==1) {
echo " </ul>\n";
}
echo " <li><h3>".$fecha[1]."</h3></li>\n";
echo " <ul>\n";
}
echo " <li><a href=\"#\"><strong>".$noticia['titulo']."</strong></a></li>\n";
$ano_anterior = $fecha[0];
$mes_anterior = $fecha[1];
$mes_printed = 1;
$ani_printed = 1;
}
echo " </ul>\n";
echo " </ul>\n";