Hola chicos!
Aunque llevo bastante tiempo visitando forosdelweb, no decidí registrarme hasta ahora.
Antes me habia limitado a buscar en los foros problemas que ya tuviesen solución, pero el problema que tengo ahora no lo he visto resuelto en ningun lado..
Consiste en leer un XML con PHP, y mostrar los resultados de forma ordenada, y mostrando solo los diez primeros, me explico:
Siguiendo un tutorial para leer un XML en PHP he conseguido leer varios campos.
Tengo un XML con X pilotos, el cual tiene entre otros valores valores como <Pos> <Name> <Points>...
Añado de muestra un par de pilotos y sus datos, para que podáis tenerlo como referéncia.
Código:
<Driver>
<Pos>4</Pos>
<Name>carles</Name>
<Team>Vodafone McLaren Mercedes.</Team>
<Points>32</Points>
<Gap>7</Gap>
<PP>00032</PP>
<Starts>7</Starts>
<PP_starts>00007</PP_starts>
<Poles>0</Poles>
<PP_poles>00000</PP_poles>
<Wins>2</Wins>
<PP_wins>00002</PP_wins>
<Podiums>3</Podiums>
<PP_podiums>00003</PP_podiums>
</Driver>
<Driver>
<Pos>1</Pos>
<Name>Perera</Name>
<Team>Force India F1 Team</Team>
<Points>39</Points>
<Gap>0</Gap>
<PP>00039</PP>
<Starts>7</Starts>
<PP_starts>00007</PP_starts>
<Poles>0</Poles>
<PP_poles>00000</PP_poles>
<Wins>2</Wins>
<PP_wins>00002</PP_wins>
<Podiums>3</Podiums>
<PP_podiums>00003</PP_podiums>
</Driver>
Consigo mostrar los resultados como véis aquí. Mediante el siguiente código:
Código:
<?
$objDOM = new DOMDocument();
$objDOM->load("DriverChampionship.xml"); //make sure path is correct
$driver = $objDOM->getElementsByTagName("Driver");
// for each note tag, parse the document and get values for
// tasks and details tag.
foreach( $driver as $value )
{
$names = $value->getElementsByTagName("Name");
$name = $names->item(0)->nodeValue;
$points = $value->getElementsByTagName("Points");
$point = $points->item(0)->nodeValue;
echo "$name : $point <br>";
}
?>
Hasta ahora todo bien, ya que solo me interesa el nombre del piloto y los puntos, el problema es que solo quiero que me muestre los diez primeros pilotos, es decir aquellos cuyo valor <Pos> esta entre 0 y 10, y a poder ser ordenados.
Alguna idea?
Gracias de antemano!
Un Saludo!