Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/07/2009, 23:15
AlvaroX
 
Fecha de Ingreso: septiembre-2008
Mensajes: 242
Antigüedad: 15 años, 7 meses
Puntos: 3
Hola amigos de foros del web.

Tengo este XML:

Código:
<?xml version="1.0" encoding="utf-8"?>
<rank>

<player name="Pablo" edad="17"/>
<player name="Juan" edad="40"/>
<player name="Pedro" edad="19"/>
<player name="Carlos" edad="15"/>
<player name="Esteban" edad="21"/>
<player name="Vicente" edad="45"/>

</rank>
La idea seria ordenar el resultado o el fichero (lo que les resulte mas facil de hacerme entender) de forma creciente o decreciente da lo mismo la cosa es que quede ordenado en funcion a la edad

cosa que quede asi:

Código:
<?xml version="1.0" encoding="utf-8"?>
<rank>

<player name="Carlos" edad="15"/>
<player name="Pablo" edad="17"/>
<player name="Pedro" edad="19"/>
<player name="Esteban" edad="21"/>
<player name="Juan" edad="40"/>
<player name="Vicente" edad="45"/>

</rank>
Espero que me puedan ayudar un poquito que estoy estancado aqui.

Ya lo resolvi tube que ocupar un metodo demasiado arcaico para hacerlo, se los dejo porque me dio risa como lo hize....

rank.xml

<?xml version="1.0" encoding="utf-8"?>
<rank>

<player name="Carlos" edad="15"/>
<player name="Pablo" edad="17"/>
<player name="Pedro" edad="19"/>
<player name="Esteban" edad="21"/>
<player name="Juan" edad="40"/>
<player name="Vicente" edad="45"/>

</rank>

"Procesador" de datos

<?php

$xml = simplexml_load_file("rank.xml");
$count = count($xml->player)-1;

for($i=0; $i<=$count; $i++)
{
$n[$i] = ''.$xml->player[$i][edad].'@@'.$xml->player[$i][name].'';
}

sort($n);
reset($n);

for($a=0; $a<=$count; $a++)
{
$name = str_replace("@@", "", strstr($n[$a], "@@"));
$level = str_replace("@@$name", "", $n[$a]);
echo "El jugador: <b>$name</b> tiene <b>$level</b> a&ntilde;os<br/>";
}

?>

Última edición por GatorV; 23/07/2009 a las 19:44