8791 sujets

Développement web côté serveur, CMS

Salut, j'ai récupéré et personnalisé un petit script PHP qui récupère des informations de joueurs de Batllefield 2 sur le serveur officiel qui stocke les informations.

On récupère les informations à partir du PID du joueur (numéro unique propre à chaque pseudo).

<?php
$pid = '113672739';
$filename = "http://bf2web.gamespy.com/ASP/getleaderboard.aspx?pid=$pid&type=score&id=overall";
ini_set ("user_agent","GameSpyHTTP/1.0");
$fp = fopen ($filename, "r");
$data = '';
while (!feof ($fp))
{
	$data .=  fgets ($fp, 4096);
}
$statsbf2 = explode ('	', $data);

// Récupération informations
$nickname = $statsbf2['14'];
$score = $statsbf2['15'];
$countrycode = $statsbf2['18'];

echo ('Score : ' . $score . '<br />Pseudo : ' . $nickname . '<br />Pays : ' . $countrycode);
?>


Ce script renvoie :
Score : 186170
Pseudo : Aiolas.San
Pays : FR $


En tout début de script, on peut voir que je prédéfinis un PID avec la variable $pid qui est récupérée dans le lien que contient $filename !

Le truc c'est que ce n'est pas le seul joueur dont je veux récupérer les infos (c'est destiné au site de la team dans laquelle je suis, il y aura donc plusieurs joueurs qui ont chacun un PID différent) et je n'ai pas envie de copier/coller le script et juste changer la variable $pid pour les plus de 20 joueurs qui sont dans ma team, je crois qu'il y a une solution plus intelligeante.

Normalement, c'est faisable avec une boucle ou un array, mais je ne trouve pas la logique ... comment faire ?

Merci de votre aide ! Smiley cligne
Modifié par N-21 (11 Jul 2008 - 19:38)
Hello N-21 Smiley cligne ,

à priori il suffit de faire une boucle sur tous les $pid possibles. La seule question est de savoir comment tu y as accès (requête, tableau...)

A+
Merci de cette si rapide réponse.
Je retente avec une boucle pour voir si j'y arrive.
Le bloquais sur le script en fait, je ne savais pas où le caler (uniquement avec une while/for et des echo, je sais le faire mais les lignes de récupération des stats, c'est un peu moins clair pour moi ...).

a écrit :
La seule question est de savoir comment tu y as accès (requête, tableau...)

Euh, accès à quoi ? Aux stats sur le serveur officiel ?
C'est dans le script. Je récupère le fichier généré par bf2web.gamespy.com et qui contient une série de mots et chiffes séparés par des tabulations. C'est pour ça que la fonction explode est là.

Mais sinon, en attendant, un nouveau script ne serait pas de refus ... Smiley lol
N-21 a écrit :
En tout début de script, on peut voir que je prédéfinis un PID avec la variable $pid qui est récupérée dans le lien que contient $filename !

Le truc c'est que ce n'est pas le seul joueur dont je veux récupérer les infos (c'est destiné au site de la team dans laquelle je suis, il y aura donc plusieurs joueurs qui ont chacun un PID différent) et je n'ai pas envie de copier/coller le script et juste changer la variable $pid pour les plus de 20 joueurs qui sont dans ma team, je crois qu'il y a une solution plus intelligeante.
Ma question était : comment connais-tu la liste des $pid à récupérer ?

* est-ce que tu as une table mysql qui contient toutes les valeurs possibles -> auquel cas il suffit d'effectuer la requête et de faire une boucle (par exemple while ) sur chaque pid

* est-ce une liste "papier" que tu as -> auquel cas il suffit d'alimenter un array() et de faire une boucle (par exemple foreach) sur chaque pid