lien XML fonction compter et mise en form
- Accueil
- Forum
- Programmation
- PHP
- lien XML fonction compter et mise en form
laurent09 Le 15 juin 2017 à 10:01 (Édité le 25 janvier 2019 à 17:53)
je ne sais pas si je suis dans la bonne catégorie.
j'ai besoin d'aide.
voila je récupère des donnés sur un lien xml ( via api steam ).
<?php
$api_key = "XXXXXXXXCF241XXXXXXXXX";
$steamid = "XX561XXXXXXXXXXXXX";
$api_url = "http://api.steampowered.com/IPlayerService/GetRecentlyPlayedGames/v0001/?key=$api_key&steamid=$steamid&format=xml";
$get = file_get_contents($api_url);
$xml = new SimpleXMLElement($get);
?>
Le lien de la page xml ce présente comme ceci
<response>
<total_count>6</total_count>
<games>
<message>
<appid>578080</appid>
<name>PLAYERUNKNOWN'S BATTLEGROUNDS</name>
<playtime_2weeks>2652</playtime_2weeks>
<playtime_forever>28839</playtime_forever>
<img_icon_url>93d896e7d7a42ae35c1d77239430e1d90bc82cae</img_icon_url>
<img_logo_url>2d2732a33511b58c69aff6b098a22687a3bb8533</img_logo_url>
</message>
<message>
<appid>561600</appid>
<name>MXGP3 - The Official Motocross Videogame</name>
<playtime_2weeks>822</playtime_2weeks>
<playtime_forever>803</playtime_forever>
<img_icon_url>c2acbcfeb2c8319fef8c9835339543fd1fde880b</img_icon_url>
<img_logo_url>180a3d7a2aad1e71872b9cda58fe72aa76a6bd43</img_logo_url>
</message>
<message>
<appid>421020</appid>
<name>DiRT 4</name>
<playtime_2weeks>392</playtime_2weeks>
<playtime_forever>392</playtime_forever>
<img_icon_url>db321a3271cf6a5b2983bda3a2ffa25788e3a781</img_icon_url>
<img_logo_url>45c6b6ebefa3283c86f2dbbd116d8f4432f38125</img_logo_url>
</message>
<message>
<appid>480</appid>
<name>Spacewar</name>
<playtime_2weeks>191</playtime_2weeks>
<playtime_forever>1006</playtime_forever>
<img_icon_url/>
<img_logo_url/>
</message>
<message>
<appid>105450</appid>
<name>Age of Empires® III: Complete Collection</name>
<playtime_2weeks>102</playtime_2weeks>
<playtime_forever>12467</playtime_forever>
<img_icon_url>6fd62f99d3d245868d83af54eb60def5d1667402</img_icon_url>
<img_logo_url>c5ad5a14c259ea16f1193c32c2753fc037b9d42b</img_logo_url>
</message>
<message>
<appid>568260</appid>
<playtime_2weeks>78</playtime_2weeks>
<playtime_forever>78</playtime_forever>
</message>
</games>
</response>
Je voudrais savoir comment créer une fonction qui me compte le nombre de jeux (<message>)
et en fonction du nombre de jeux mettre en form dans ma page html le nombre de jeux.
( je ne sais pas si je me suis bien fait comprendre.)
j'arrive a récupérer les infos de chaque jeux dans le xml.
<?php
//jeux 1
echo $xml->total_count;
echo'<br>';
echo $xml->games->message[0]->appid;
echo'<br>';
echo $xml->games->message[0]->name;
echo'<br>';
echo $xml->games->message[0]->playtime_2weeks;
echo'<br>';
echo $xml->games->message[0]->playtime_forever;
echo'<br>';
echo $xml->games->message[0]->img_logo_url;
echo'<br>';
echo'<br>';
echo'<br>';
//jeux 2
echo'<br>';
echo $xml->games->message[1]->appid;
echo'<br>';
echo $xml->games->message[1]->name;
echo'<br>';
echo $xml->games->message[1]->playtime_2weeks;
echo'<br>';
echo $xml->games->message[1]->playtime_forever;
echo'<br>';
echo $xml->games->message[1]->img_logo_url;
?>
mais je ne sais pas comment faire en sorte de compter le nombre de jeux (<message>) et mettre en form dans ma page html le nombre de jeux.
si une personne peut m'aider.
merci
ThomasT Le 19 juin 2017 à 21:30 (Édité le 1 janvier 1970 à 01:00)
Pour compter le nombre de balises <message>
Il suffit d'utiliser :
count($xml->games->message); //retourne le nombre de valeur dans le tableau
Ensuite pour faire un bel affichage des données tu peux utiliser for()
comme ceci :
for($i = 0; $i = count($xml->games->message); $i++) //si jamais count($xml->games->message) marche pas, utilise count($xml->games->message[])
{
echo 'Name : '.$xml->games->message[$i]->name.'<br> etc...<br>';
}
Suffit de changer le name à la fin ou si tu veux tu peux y ajouter des valeurs 😀
comme ceci :
echo 'Name : '.$xml->games->message[$i]->name.'<br> et l'image = '.$xml->games->message[$i]->img_logo_url;
laurent09 Le 24 juin 2017 à 09:15 (Édité le 1 janvier 1970 à 01:00)
désolé j'ai était absent un moment.
merci beaucoup je vais tester tout ça des que je peut.