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

Langage PHP Discussion :

Gérer mes variables après une boucle


Sujet :

Langage PHP

  1. #1
    Membre régulier

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 51
    Points : 93
    Points
    93
    Par défaut Gérer mes variables après une boucle
    Bonsoir à tous !

    J'aurais besoin d'un petit coup de pouce niveau méthode Smile

    Mon script permettra une fois fini de calculer l'équipe gagnante d'un match de basket entre 2 équipes

    ma première boucle permet de récupérer tous les matchs de la journée, tandis que ma seconde boucle liste les joueurs des 2 équipes pour chaque match (phpl_ordres) et est joint à la table joueurs afin d'avoir les caractéristiques de chaque joueur.. (3points, dribble, tir...)

    Ma question comment prendre/gérer toutes les caractéristiques de chaque joueur pendant ma boucle ?
    Car j'aimerais avoir à ma disposition les caracts de chaque joueur pour faire des calculs.. et définir le vainqueur

    Dois je donc assigner une variable pour chaque carac de chaque joueur ?
    $equipe1_joueur1_carac1 = ...
    $joueur1_carac2 = ...
    ....
    Cela me parait énormément lourd...


    Voici le script simplifié ;

    PHP:
    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
    34
    35
    36
    37
    <?php
     
    // 1er requete qui cherche tous les matchs de la journée
    $sql="SELECT id, id_equipe_dom, id_equipe_ext, date_reelle
    FROM phpl_matchs
    WHERE '".date('Y/m/d')."' = DATE_FORMAT(date_reelle, '%Y/%m/%d')";
     
     
      $requete = mysql_query($sql);
    // On boucle les matchs de la journée
     
    while ($row = mysql_fetch_assoc($requete))
     {
     
          //ICI ON RECUPERE LES  JOUEURS DE LA FEUILLE DE MATCH ET LEURS CARACTERISTIQUES (3points, tir..., ...)
     
         $sql2='SELECT id_match, phpl_ordres.id_equipe AS id_equipe_ordre, id_joueur, remp, tir, 3points, dribble
        FROM phpl_ordres
        LEFT JOIN joueurs
        ON (phpl_ordres.id_joueur = joueurs.id)
        WHERE '.$row['id'].' = id_match';
     
     
         $requete2 = mysql_query($sql2) or die (mysql_error());
     
    // ON BOUCLE POUR AVOIR TOUS LES JOUEURS DU MATCH
         while($row2 = mysql_fetch_assoc($requete2))
         {
     
     
        // COMMENT GERER ICI ?
     
         }
     
     }
     
     mysql_close();

    Merci beaucoup de m'orienter grace à votre expérience...

    N'hésitez pas si vous voulez plus d'informations..

    Bonne soirée

  2. #2
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut
    Citation Envoyé par Snipy Voir le message
    Bonsoir à tous !

    J'aurais besoin d'un petit coup de pouce niveau méthode Smile

    Mon script permettra une fois fini de calculer l'équipe gagnante d'un match de basket entre 2 équipes
    Bonne soirée
    En voilà une bonne, je n'ai pas pu resister. Calculer l'équipe gagnante d'un match de basket !!! lu comme cela ca à l'air dingo
    En général tu code ca comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if ($score_teamA > $score_teamB){
     echo "A gagne le match !!";
    }
    else {
     echo "B gagne le match !!";
    }
    Bon Ok s'est mauvais
    Il faut rire un peu non, le monde est si triste ?

    Maintenant que j'ai bien déconné, je vais regarder ta question et si j'y arrive j'y réponds.

  3. #3
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut
    Bon maintenant, je crois comprendre ce que tu veux faire, mais avant il faut que tu donnes quelques explications supplémentaires car avec cela s'est un peu flou.
    Tu veux dire que l'équipe qui va gagner (de ton point de vu, c'est à dire pas aux nombre de points), ce sera celle dont le nombre de point (3points, dribble, tir...) de l'ensemble des joueurs ajouté sera la gagnante ?

    RIGHT ?

  4. #4
    Membre régulier

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 51
    Points : 93
    Points
    93
    Par défaut
    Merci beaucoup de t'attarder sur ce topic :p

    Bon Ok s'est mauvais
    Il faut rire un peu non, le monde est si triste ?
    Pas de soucis t'as bien raison :p


    Tu veux dire que l'équipe qui va gagner (de ton point de vu, c'est à dire pas aux nombre de points), ce sera celle dont le nombre de point (3points, dribble, tir...) de l'ensemble des joueurs ajouté sera la gagnante ?
    Ce sera des calculs un peu complexe qui compara les caractéristiques de chaque joueurs (3points, tir...) de chaque équipe.. etc etc

    et à la fin après avoir calculer les stats de chaque joueur, le vainqueur sera désigné.

    Ma question est donc comment gérer toutes ces variables car il y a une donnée pour chaque caractéristique pour chaque joueur pour chaque équipe (2 équipes) OoO

    Donc je pourrais bien faire

    $equipe1_joueur1_carac1 = ...
    $joueur1_carac2 = ...
    ...
    etc
    ...

    Mais ça va faire 100 variables lol

    Une idée ?

  5. #5
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut
    avoir calculer les stats de chaque joueur, le vainqueur sera désigné
    Je suis perdu là, tu veux savoir l'équipe qui gagne ou le joueur ?? ca n'a rien à voir. Si s'est l'équipe, s'est super chiadé, si s'est le joueur une bonne requete SQL bien pensée fera l'affaire.
    J'attends ta réponse.

  6. #6
    Membre régulier

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 51
    Points : 93
    Points
    93
    Par défaut
    Les 2

    Je m'explique

    2 parties dans ce script

    1/ Calculer les statistiques de chaque joueur (car une fois le match fini, un tableau recense les stats de tous les joueurs )
    2/ Puis bien sur calculer l'équipe vainqueur (en fonction des carac des joueurs qui jouent )

    Donc pour gérer les variables.. le tout dans un array ? un array pour chaque joueur ?


    Merci encore de répondre

  7. #7
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut
    Bon ok, je comprends mieux maintenant.
    Voilà comment je ferais, je te donne l'analyse mais pas le code car je n'ai pas le temps:
    1/ 4 tables (Joueurs, Equipes, Scores, Matchs)

    2/ les liens: (JOIN)
    Joueurs -> Matchs
    Joueurs -> Scores
    Joueurs -> Equipes
    Equipes -> Matchs (celui-ci je ne suis pas sur qu'il soit nécessaire à voir)
    Scores -> Matchs

    3/ Une fois tes tables remplies évidement. Tu stock les binomes ID_Joueur et ID_Equipe dans la table Macht avec la date/heure/lieu du match

    3/ Dans la table score tu créés tous les points de chaque joueur pour chaque match. Dans une variable de type Enum('3points', 'tir...), ID_Match

    4/ Il ne te reste plus qu'a créer ta stucture de BD, je pense que les choses seront plus claires après.

    Bon courage

  8. #8
    Membre régulier

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 51
    Points : 93
    Points
    93
    Par défaut
    MErci mais tous cela est fait

    ma question est simplement comment traité mes variables dans ma boucle ?

    car je vais récupérer a chaque passage de boucle les caractéristiques de chaque joueur,
    mais comment confronté les caractéristiques les unes au autres une fois que la boucle est fini ?

    Pour faire plus général

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    while ( $i < 5 )
    {
    $variable1 = ...
    $variable2 = ...
    $variable3 = ...
    $variable4 = ...
    $i++;
    }
    VOila a chaque passage de boucle on récupère 4 variables, si il y a 5 passage de boucle comme"nt confronté les 20 variables les unes aux autres ?
    (Comment les garder en mémoires ?)

    Je pourrais bien sur faire :

    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
     
    while ( $i < 5 )
    {
    $variable1.$i = ...
    $variable2.$i = ...
    $variable3.$i = ...
    $variable4.$i = ...
    $i++;
    }
     
    // et ici je peux utiliser toutes mes variables
     
    $variable11
    $variable21
    $variable31
    $variable41
     
    $variable12
    $variable22
    $variable32
    $variable42
     
    ...
    etc
    ...



    Merci beaucoup

  9. #9
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut
    Tu n'as qu'a traité cela avec des array()

    Au fur et à mesure que tu lis tes variables dans ta boucle, tu stock tes valeurs dans un tableau.
    Tu crées autant de tableau que tu as type de variable à comparer et tu répète la même opération d'affectation dans la boucle.

    Ca donnerais simplement ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $tab =array();
    $i=0;
    while ( $i < 5 )
    {
     $tab[$i] = $variable_recupee_dans_la_base;
     $i++;
    }

  10. #10
    Membre régulier

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 51
    Points : 93
    Points
    93
    Par défaut
    En efffet j'avais pensé à faire ceci

    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
    <?php
    $sql2='SELECT  phpl_ordres.id_equipe AS id_equipe_ordre, id_joueur, poste, remp, tir, 3points, dribble
            FROM phpl_ordres
            LEFT JOIN joueurs
            ON (phpl_ordres.id_joueur = joueurs.id)
            WHERE '.$row['id'].' = id_match';
     
     
                      $requete2 = mysql_query($sql2) or die (mysql_error());
     
            $i=0;
            while($row2 = mysql_fetch_assoc($requete2))
             {
     
     
     
     
             $joueur[$i] = array($row2['id_equipe_ordre'], $row2['poste'], $row2['remp'], $row2['tir'], $row2['3points'], $row2['dribble'] );
    echo '<pre>';
    print_r($joueur[$i]);
    echo '</pre>';
     
     
     
            $i++;
             }
     
    // Travailler ici avec tous mes $joueur[$i] ?>
    Mais je trouve que utiliser des arrays pour mettre des données étant déja dans un array est un peu récurrent...

  11. #11
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut
    Tu n'as qu'a utiliser des array d'array non ?

    Je le fais parfois s'est bien util, mais un peu fastidieux, mais bon

Discussions similaires

  1. toujours les variables apres une boucle
    Par lrgtk dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 05/09/2010, 15h22
  2. [MySQL] Traitement des variables d'une boucle for
    Par liryc78 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 06/03/2006, 20h53
  3. Réponses: 3
    Dernier message: 01/09/2005, 11h56
  4. Generer des noms de variables avec une boucle
    Par moutanakid dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 28/07/2004, 17h45
  5. [langage] incrementation de variable dans une boucle
    Par mimilou dans le forum Langage
    Réponses: 15
    Dernier message: 16/04/2004, 13h23

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