Ver Mensaje Individual
  #7 (permalink)  
Antiguo 23/02/2010, 10:59
benz0
 
Fecha de Ingreso: diciembre-2002
Ubicación: Madrid
Mensajes: 378
Antigüedad: 21 años, 3 meses
Puntos: 11
Respuesta: Seleccionar de xml la fecha más cercana a la fecha actual.

Finalmente hice lo que me comento hector2c, crear una matriz con las fechas, ordenarla y luego comparar las fechas.

Aquí dejo el código por si a alguien le sirve o lo puede mejorar:

Código:
<?php 
/* declaramos el xml */
$dom = new DOMDocument(); 
$dom->load('test5.xml'); 

$root=$dom->getElementsByTagName('eventos')->item(0); 

/* obtenemos la fecha actual del servidor */
$t=time();
$nuevo = (date("Y-m-d H:m:s",$t));

$tagE = $dom->getElementsByTagName('evento'); 

/* llenamos una matriz con todas las fechas del xml */
$c=0;
foreach($tagE as $e)
{
 $matriz[] = $e->getAttribute('fecha');
 $c++;
}

/* Ordenamos la matriz de fechas creada  */
sort($matriz);

/* Buscamos la fecha más cercana a la actual */
$f=0;
for($a=0;$a<$c;$a++)
	{
	while($matriz[$a] > $nuevo && $f < 1)
		{
			$fclave = $matriz[$a];
			$f++;
		}
	}

/* Volvemos a recorrer el xml comparando la fecha obtenida anteriormente */
		foreach($tagE as $e)
			{ 
				if($e->getAttribute('fecha') == $fclave)
				{
				echo "evento: ".$e->getAttribute('nombre')."<br />"; 
				echo "fecha: ".$e->getAttribute('fecha')." - ";   
				$c++;
				}
			}
?>
Gracias.