IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

Tableau associatif php


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 99
    Par défaut Tableau associatif php
    Bonjour,

    Voilà je souhaite développer un site pour les panels de serveur de jeux. En ce moment je travaille sur comment récupérer le nom des serveurs de jeux, le nombre de joueur maximum etc (ce sont des jeux steam)... Donc j'ai commencé par lire sur ce forum un sujet concernant l'envoie de paquet udp pour ce genre de jeux, sans grande réussite. Sachant que chaque jeux à sa propre requête udp sa commençait à faire long. Donc j'ai cherché un peu et je suis tombé sur ce site http://gameq.sourceforge.net/. Ce site propose donc des sources pour avoir les informations du serveur. Je ne connais pas très bien la programmation php orienté objet donc j'ai quelques difficultés à comprendre l'ensemble du script proposé... Donc voilà mon code de page
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    <?
    if(isset($_SESSION["serveur"])){
    $serv=$_SESSION["serveur"];
    $query="SELECT * FROM servj WHERE id_serv='".$serv."'";
    $result=mysql_query($query);
    while($res=mysql_fetch_array($result)){
    $id_serv=$res["id_serv"];
    $ip_serv=$res["ip_serv"];
    $port_serv=$res["port_serv"];
    $slots_serv=$res["slots_serv"];
    $nom_serv=$res["nom_serv"];
    $mod_serv=$res["mod_serv"];
    }
     
    $servers['serv'] = array(''.$mod_serv.'', ''.$ip_serv.'', ''.$port_serv.'');
    require_once 'GameQ.php';
    // Initialize the class
    $gq = new GameQ;
    // Add the servers we just defined
    $gq->addServers($servers);
    // Request the data, and display it
    try {
        $data = $gq->requestData();
        print_r($data);
    }
     
    // Catch any errors that might have occurred
    catch (GameQ_Exception $e) {
        echo 'An error occurred.';
    }
    }
    ?>
    Donc un bon copié/collé plus ou moins de la doc... et on obtient ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Array ( [serv] => Array ( [protocol] => 48 [hostname] => Half-Life [map] => de_dust [game_dir] => cstrike [game_descr] => Counter-Strike [steamappid] => 10 [num_players] => 0 [max_players] => 20 [num_bots] => 0 [dedicated] => d [os] => l [password] => 0 [secure] => 1 [version] => 49 [num_rules] => 27745 [low_spectators] => 1.0 [coop] => 0 [deathmatch] => 1 [decalfrequency] => 30 [edgefriction] => 2 [hostage_debug] => 0 [hostage_stop] => 0 [humans_join_team] => any [max_queries_sec] => 1 [max_queries_sec_global] => 1 [max_queries_window] => 1 [mp_allowmonsters] => 0 [mp_autokick] => 1 [mp_autoteambalance] => 1 [mp_buytime] => 1.5 [mp_c4timer] => 45 [mp_chattime] => 10 [mp_consistency] => 1 [mp_fadetoblack] => 0 [mp_flashlight] => 0 [mp_footsteps] => 1 [mp_forcecamera] => 0 [mp_forcechasecam] => 0 [mp_fragsleft] => 0 [mp_freezetime] => 6 [mp_friendlyfire] => 0 [mp_ghostfrequency] => 0.1 [mp_hostagepenalty] => 13 [mp_kickpercent] => 0.66 [mp_limitteams] => 2 [mp_logdetail] => 0 [mp_logfile] => 1 [mp_logmessages] => 1 [mp_mapvoteratio] => 0.66 [mp_maxrounds] => 0 [mp_mirrordamage] => 0 [mp_playerid] => 0 [mp_roundtime] => 5 [mp_startmoney] => 800 [mp_timeleft] => 0 [mp_timelimit] => 0 [mp_tkpunish] => 0 [mp_windifference] => 1 [mp_winlimit] => 0 [pausable] => 0 [sv_accelerate] => 5 [sv_aim] => 1 [sv_airaccelerate] => 10 [sv_airmove] => 1 [sv_allowupload] => 1 [sv_alltalk] => 0 [sv_bounce] => 1 [sv_cheats] => 0 [sv_clienttrace] => 1 [sv_clipmode] => 0 [sv_contact] => [sv_friction] => 4 [sv_gravity] => 800 [sv_logblocks] => 0 [sv_maxrate] => 0 [sv_maxspeed] => 900 [sv_minrate] => 0 [sv_password] => 0 [sv_proxies] => 1 [sv_region] => 255 [sv_restart] => 0 [sv_restartround] => 0 [sv_stepsize] => 18 [sv_stopspeed] => 75 [sv_uploadmax] => 0.5 [sv_voiceenable] => 1 [sv_wateraccelerate] => 10 [sv_waterfriction] => 1 [_tutor_bomb_viewable_check_interval] => 0.5 [_tutor_debug_level] => 0 [_tutor_examine_time] => 0.5 [_tutor_hint_interval_time] => 10.0 [_tutor_look_angle] => 10 [_tutor_look_distance] => 200 [_tutor_message_character_display_time_coefficient] => 0.0_tutor_message_minimum_display_time [1] => _tutor_message_repeats [5] => _tutor_view_distance [1000] => [gq_online] => 1 [gq_address] => 88.190.19.180 [gq_port] => 27000 [gq_prot] => source [gq_type] => cs ) )
    Donc ça m'a l'air d'être un tableau associatif, dites moi après si je me trompe. Et donc j'ai énormément de difficultés à récupérer les valeurs dans des variables séparées. Donc mon tableau est dans $data, j'ai donc essayé un $maxp=$data['max_players']; puis un echo et je n'ai aucune valeur en retour. J'ai essayé de bidouiller la boucle foreach de php par ce que j'ai lu qu'elle servait a parcourir les tableau associatif et donc le résultat est que je n'arrive pas non plus à le parcourir. Donc surement que je ne l’utilise pas bien mais je n'arrive pas a trouver de site qui me parle pour l'usage de cette commande.
    Si quelqu'un pouvait donc me montrer comment récupérer certaine variable uniquement de mon tableau je lui en serait reconnaissant par ce que la je patine vraiment...

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    print_r($data['serv']);
    echo $data['serv']['max_players'];
    ca devrait être bon

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 99
    Par défaut Re
    Donc en relisant mon sujet je me suis rendu compte de ma connerie ^^. C'est un tableau avec comme première valeur un autre tableau, donc pour mon nombre de joueur max, il suffit de tapper
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $maxp=$data['serv']['max_players'];
    Merci quand même.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment integrer tableau associatif php dans un tableau JS
    Par salyiohh dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 23/07/2013, 18h11
  2. Réponses: 8
    Dernier message: 13/11/2009, 14h50
  3. Récupérer tableau Associatif PHP en DELPHI
    Par StarMusic dans le forum Langage
    Réponses: 7
    Dernier message: 01/12/2008, 11h53
  4. Affichage tableau associatif php
    Par TwAzO dans le forum Langage
    Réponses: 2
    Dernier message: 23/05/2008, 09h25
  5. Réponses: 1
    Dernier message: 06/06/2007, 14h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo