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

PHP & Base de données Discussion :

Affichage d'un résultat calculé à partir d'une bd [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre actif
    Inscrit en
    Janvier 2006
    Messages
    1 218
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 218
    Points : 257
    Points
    257
    Par défaut Affichage d'un résultat calculé à partir d'une bd
    Bonjour,
    Prenons l'exemple d'un match de tennis.
    J'ai créer une table avec des noms de joueurs et leurs caractéristiques.
    Au cours du code j'ai inséré le nom de certains de ces joueurs dans une autre table "qualification" (ceux qui vont participer à la compétition).
    Dans cette table ils sont inséré les uns à la suite des autres.
    Les rencontres se déroulent ainsi :
    joueur1 / joueur2
    joueur3 / joueur4...
    Ce qui correspond à mon 1er code l'affichage des rencontres.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $req2 ="select nom from qualification";
        $res2=mysql_query($req2);
        while ($resultat2= mysql_fetch_assoc($res2))
        {
               echo $resultat2['nom'] . " / " ;
            $resultat2= mysql_fetch_assoc($res2);
            echo  $resultat2['nom'] ."<br>";
        }
    Dans la page suivant je voudrais afficher les résultats de ces rencontres sous la forme de tableau à 2 lignes avec le noms des joueurs et leurs scores (il y a plusieurs manches).
    joueur1 score1 score2
    joueur2 score1 score2...
    En fait j'ajoute les caractéristiques qui se trouvent dans la 1ère table pour chaque joueur et je fais la différence entre les deux. La différence me donne un nombre. Ce nombre à une correspondance dans une table résultat. Suivant le nombre que l'on trouve on a le résultat de chaque manche pour chaque joueur. Mon 2ème code correspond au début de l'affichage du résultat. Les joueurs sont biens mis l'un en dessous de l'autre avec un espace entre chaque match.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $req2 ="select nom from qualification";
       $res2=mysql_query($req2);
       $i = 0;
       while ($resultat2= mysql_fetch_assoc($res2))
       {
            $i++;
            echo  $resultat2['nom'];
             if($i%2 == 0)
              echo "<p />";
             else
               echo "<br />";
       }
    Là je bloque pour l'affichage du résultat de chaqu manche.
    Si quelqu'un a un début d'idée ?
    Merci d'avance

  2. #2
    Membre averti Avatar de XtofRoland
    Profil pro
    Inscrit en
    Août 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 357
    Points : 392
    Points
    392
    Par défaut
    apperement (j'ai du te relire qq fois!) les infos que tu cherches sont dans l'autre table? c'est ca?
    je pense que tu dois faire une requete (avec d'autre variable pour ne pas briser ta boucle )
    cela t'aide t'il?
    Le but de tout developpeur OO est de devenir une référence.
    Mon avatar est un ambigramme, les curieux peuvent le retourner ;-)
    Aider <> Faire a la place de!!!

  3. #3
    Membre actif
    Inscrit en
    Janvier 2006
    Messages
    1 218
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 218
    Points : 257
    Points
    257
    Par défaut
    une table joueur avec son des caractéristiques (vitesse...)
    parmis c'est joueur certains sont inséré dans la table qualification (ce qui vont participer au tournoi)
    dans cette qualification il n' y que les noms d'insérer, un nom par ligne.
    et les rencontres sont comme ce ceci :
    1 contre 2
    3 contre 4
    je veux ajouter certaines caractéristiques.
    Exemple :
    la vitesse, le service du joueur1
    la vitesse, le service du joueur2
    je fais la différence totale1-totale2
    je trouve un chiffre par exemple 4
    j'ai une troisième table résultat où pour chaque nombre correspond un résultat par manche.
    Table résultat:
    nombre - scoremanche1joueur1 - scoremanche1joueur2 - scoremanche2joueur1 - scoremanche2joueur2...
    Donc en fait je veux qu'à l'affichage çà me mette ceci :
    |-------- -|-----------------------------|----------------------------|
    |joueur1 | scoremanche1joueur1 | scoremanche2joueur1 |
    |joueur2 | scoremanche1joueur2 | scoremanche2joueur2 |
    |----------|-----------------------------|----------------------------|
    Le tout dans un petit tableau

  4. #4
    Membre averti Avatar de gofono_bass
    Inscrit en
    Décembre 2005
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2005
    Messages : 383
    Points : 448
    Points
    448
    Par défaut
    salut,
    je ne comprends pas ou est ton probleme dans ce cas, il ne te suffit pas de prendre les entrées de ta table resultat et de les afficher comme tu afficherais d'autres données? a moins q ce soit moi qui ait du mal a comprendre ce que tu veux?
    mais pourquoi tu cours?

  5. #5
    Membre actif
    Inscrit en
    Janvier 2006
    Messages
    1 218
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 218
    Points : 257
    Points
    257
    Par défaut
    mais c'est par rapport aux données de chaque joueur.
    Je ne sais pas vraiment comment créer ma requête prenant certaines caractéristiques des joueurs étant inscrit dans la compétition. Ajoutant les caractéristiques du joueur les soustraire par rapport à son adversaire pour trouvé un résultat qui correspond à un nombre de la table résultat ?

  6. #6
    Membre actif
    Inscrit en
    Janvier 2006
    Messages
    1 218
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 218
    Points : 257
    Points
    257
    Par défaut
    valeur j_set1 a_set1 j_set2 a_set2 j_set3 a_set3 j_set4 a_set4 j_set5 a_set5 41 6 1 6 0 6 0 NULL NULL NULL NULL

  7. #7
    Membre averti Avatar de gofono_bass
    Inscrit en
    Décembre 2005
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2005
    Messages : 383
    Points : 448
    Points
    448
    Par défaut
    tu te rends compte q je peu rien comprendre avec ça??
    Ajoutant les caractéristiques du joueur les soustraire par rapport ...
    mais pourquoi tu cours?

  8. #8
    Membre actif
    Inscrit en
    Janvier 2006
    Messages
    1 218
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 218
    Points : 257
    Points
    257
    Par défaut
    je vais réexpliquer le plus clairement possible.
    une table joueur avec leur nom et leur caractéristiques comme vitesse, service ils ont tous une valeur de 1 à 20.
    une table qualification où sont inséré les joueurs participants au tournoi. Un joueur par ligne et les match se font de cette façon :
    joueur1 / joueur2
    joueur3 / joueur4...
    une table résultat avec une valeur et un score pour chaque joueur à chaque manche, exemple :
    valeur : 4
    joueur1manche1 : 6
    joueur2manche1 : 3
    joueur1manche2 : 6
    joueur2manche2 : 4
    Voilà la structure de mes 3 tables dont je vais me servir.
    Voilà l'idée général, je veux que mon code calcul les caractéristiques du joueur1 : vitesse + service = 20
    joueur2 : vitesse + service = 16
    calcul de la différence 20-16 = 4
    je vais chercher dans la table résultat ce qui correspond à 4 (voir ci-dessus):
    On a donc joueur1 6 6
    joueur2 3 4
    c'est l'affichage que je veux pour mon résultat.
    Voilà le principé général.

    Je serais le faire avec plusieurs requete.
    Maintenant je veux savoir s'il y a un moyen rapide en quelques requêtes, pour que je puisse faire toute la démarche vu ci-dessus, pour chaque match.
    joueur1
    joueur2

    joueur3
    joueur4...

  9. #9
    Membre actif
    Inscrit en
    Janvier 2006
    Messages
    1 218
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 218
    Points : 257
    Points
    257
    Par défaut
    Voilà où j'en suis :
    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
     include("config.php");
    $req2 ="select nom from qualification";
    $res2=mysql_query($req2);
    $i = 0;
    while ($resultat2= mysql_fetch_assoc($res2))
    {
    $i++;
    $req="select service, coup_droit, revers, puissance, endurance from joueur, qualification where joueur.nom='".$resultat2['nom']."'";
    $res=mysql_query($req);
    $resultat=mysql_fetch_row($res);
    $score=$resultat[0]+$resultat[1]+$resultat[2]+$resultat[3]+$resultat[4];
    echo $resultat2['nom'];
    if($i%2 == 0)
    {
    echo "<p />";
    $diff=$tot-$score;
    $req3="select * from resultats where valeur='$diff'";
    $res3=mysql_query($req3);
    $resultat3=mysql_fetch_row($res3);
    }
    else
     
    $tot=$score;
    echo "<br />";
     
    }
    Je n'ai plus qu'un petit problème l'affichage.
    Qui doit se présenter comme ceci :
    joueur1 $resultat3[1] $resultat3[3] $resultat3[5] $resultat3[7] $resultat3[9]
    joueur2 $resultat3[2] $resultat3[4] $resultat3[6] $resultat3[8] $resultat3[10]

    joueur3 $resultat3[1] $resultat3[3] $resultat3[5] $resultat3[7] $resultat3[9]
    joueur4 $resultat3[2] $resultat3[4] $resultat3[6] $resultat3[8] $resultat3[10]
    .
    .
    .
    Et ainsi de suite. Si quelqu'un à une idée.

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

Discussions similaires

  1. affichage d'un arbre a partir d'une colonne
    Par samdou dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 30/06/2009, 12h26
  2. affichage du code html a partir d'une fonction vb.net
    Par l_achraf dans le forum VB.NET
    Réponses: 1
    Dernier message: 13/05/2009, 16h20
  3. Affichage d'un fichier XML à partir d'une JSP
    Par nicocolt dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 06/08/2008, 11h36
  4. Calcul à partir d'une table
    Par Didi17 dans le forum Access
    Réponses: 1
    Dernier message: 28/10/2005, 08h37
  5. Réponses: 2
    Dernier message: 03/10/2005, 10h09

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