Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/03/2004, 17:46
Gotrek
 
Fecha de Ingreso: marzo-2004
Mensajes: 44
Antigüedad: 20 años, 1 mes
Puntos: 0
Archivo de Noticias. Ordenar por meses. Usando timestamps tipo Unix.

Pues ya lo consegui. Para quien le pueda interesar aqui esta el codigo

Usa una tabla llamada "noticias" q tiene un campo llamado "fecha"

<?
include("config.php");
$meses = array("Enero","Febrero","Marzo","Abril","Mayo","Ju nio","Julio","Agosto","Septiembre","Octubre","Novi embre","Diciembre");
$query = "Select month(from_unixtime(fecha)),year(from_unixtime(fec ha)) from noticias order by fecha";
$resid=mysql_query($query);
// Esto devuelve una lista ordenada de menor a mayor con el mes y año que consta en el timestamp de cada registro.
while ($resultado=mysql_fetch_array($resid)) {
if ($resultado[0]!=$mes && $resultado[1]!=ano) {
$mes=$resultado[0];
$ano=$resultado[1];
echo "<a href=\"archivo_news_meses.php?mes=$mes&ano=$ano\"> {$meses[$mes-1]} de $ano</a><br>";
}
}
?>

Y esto lo metemos, en archivo_news_meses.php (podeis cambiarlo si kereis)

<?
include("config.php");
$query = mysql_query("Select * from noticias where month(from_unixtime(fecha))={$_GET['mes']} and year(from_unixtime(fecha))={$_GET['ano']} ORDER BY fecha DESC");
while ($datos = mysql_fetch_assoc($query)){
$fecha = $datos[fecha] ;
$mesesano = array("Enero","Febrero","Marzo","Abril","Mayo","Ju nio","Julio","Agosto",
"Septiembre","Octubre","Noviembre","Diciembre" ) ;
$diames = date(j,$fecha) ; $mesano = date(n,$fecha) - 1 ; $ano = date(Y,$fecha) ;
$fecha = "$diames $mesesano[$mesano] $ano" ;
?>

Salu2