Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/05/2007, 16:59
parandroide
 
Fecha de Ingreso: mayo-2007
Mensajes: 3
Antigüedad: 17 años
Puntos: 0
Pregunta ayuda!! php y simplexml: ordenar datos

Hola. Estoy haciendo un guestbook que guarda los registros en un archivo xml que es manipulado (leído y escrito) por un script php usando las funciónes simplexml. Cuando es leido, devuelve el contenido en html para ser desplegado tal cual en la página a través de una petición XMLHttpRequest. Todo funciona bien, guarda, devuelve y despliega los mensajes perfectamente. El xml es como el siguiente:

Código:
<mensajes>
	<mensaje>
		<nombre>nick/nombre--1</nombre>
		<contacto>web/mail--1</contacto>
		<cuerpo>mensaje--1</cuerpo>
	</mensaje>
	<mensaje>
		<nombre>nick/nombre--2</nombre>
		<contacto>web/mail--2</contacto>
		<cuerpo>mensaje--2</cuerpo>
	</mensaje>
	<mensaje>
		<nombre>nick/nombre--3</nombre>
		<contacto>web/mail--3</contacto>
		<cuerpo>mensaje--3</cuerpo>
	</mensaje>
</mensajes>
y el script php que lee los mensajes es:

Código:
header("Content-Type: text/html; charset=iso-8859-1");
$mensajes = simplexml_load_file('mensajes.xml');
$mensaje = $mensajes->mensaje;
if ($mensaje) {
foreach ($mensaje as $entrada) {

	if ($entrada->contacto != ''){
		echo "<div id='mensaje'><div class='datos'><a href='$entrada->contacto'>$entrada->nombre</a> dijo</div>";
		echo "<div class='entrada'>$entrada->cuerpo</div>";
		echo "</div>";
	} else {
		echo "<div id='mensaje'><div class='datos'>$entrada->nombre dijo</div>";
		echo "<div class='entrada'>$entrada->cuerpo</div>";
		echo "</div>";
		}
}
}
No soy muy avanzado en php ni en xml, y mi problema (ojalá me puedan ayudar) es que no sé cómo hacer que los mensajes nuevos aparezcan primero, ya que en el xml los nuevos registros van quedando hasta abajo, antes de </mensajes>, o que php al momento de leerlos los muestre en el orden contrario al que se encuentran, esto es, primero los nuevos (los de abajo). No sé, tal vez es algo muy simple y yo me estoy rompiendo la cabeza de más, pero bueno, para saberlo vine aquí, a que por favor me ayuden uds. grandes eruditos de la programación web jeje. Saludos.

Última edición por parandroide; 07/05/2007 a las 19:43 Razón: decidí incluir otro script