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 :

mysql_query dans un foreach


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Juin 2009
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 114
    Points : 94
    Points
    94
    Par défaut mysql_query dans un foreach
    Bonjour,

    j'ai un gros sac de noeud j'ai trois tables une table resultat officiel une table pronostique de chaque joueur et je veux que pour chaque joueur je fasse le calcul du nombre de point par contre ma requete s'arrette au premier joueur si celui ci n'est pas alimenté :
    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
     
    foreach ($tabjoueur as $elementjoueur)
                        {
     
                            $pronostiquejoueur = mysql_query ("select joueur,equipe1,equipe2,1N2,resultat1,resultat2,numerosgrille
                                                          from pronosaison2009 where numerosgrille='$tabcompteur[1]' AND joueur='$elementjoueur'")or die (mysql_error());
     
                                $row2 = mysql_num_rows($pronostiquejoueur);
                                echo 'STEP ONE : '.$row2.'</br>';
                                if ($row2 > 0)
                                {
                                while ($pronostiquejoueurTR = mysql_fetch_array($pronostiquejoueur))
                                    {
     
                                        for ($i=0;$i < 10;$i++)
                                        {
                                            if ($resultofficielTR[$i]['1N2']==$pronostiquejoueurTR[$i]['1N2'])
                                            {
                                                echo 'la boucle de calcul est : '.$resultofficielTR[$i]['1N2'].$pronostiquejoueurTR[$i]['1N2'];
                                                $points +=2 ;
                                            }

  2. #2
    Membre actif Avatar de buse974
    Homme Profil pro
    Développeur / Chef de projet informatique
    Inscrit en
    Février 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur / Chef de projet informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 117
    Points : 245
    Points
    245
    Par défaut
    Salut en faite, j'ai du mal on comprendre certaine chose.

    quand tu dit alimenté
    ma requete s'arrette au premier joueur si celui ci n'est pas alimenté :
    cela veut dire que ton $row2 et equal a 0 ou null ou autre chose.
    Et a tu un message d'erreur et si oui lequel.
    car c'est un peu flou.

  3. #3
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    $pronostiquejoueurTR est une ligne de ta requete $pronostiquejoueur
    il contient donc joueur,equipe1,equipe2,1N2,resultat1,resultat2,numerosgrille

    A quoi correspond $pronostiquejoueurTR[$i] avec $i allant de 0 à 10 ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Membre régulier
    Inscrit en
    Juin 2009
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 114
    Points : 94
    Points
    94
    Par défaut
    sabotage :

    moui alors la je vais peut être rentrée dans le ridicule mais c'est l'index
    $pronostiquejoueurTR[$i]['1N2']

    je compare la grille des pronostique valides avec celui du joueur
    donc si dans ma grille valide, ils sont toujours dans le meme ordre ...

    buses974

    ils sort de la boucle en fait et ne continu pas le foreach
    select joueur,equipe1,equipe2,1N2,resultat1,resultat2,numerosgrille from pronosaison2009 where numerosgrille='1' AND joueur='TOTO' STEP ONE : 0

    si je donne une grille valide il va m'effectuer les calculs (mal d'ailleurs)

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    donc si dans ma grille valide, ils sont toujours dans le meme ordre ...
    Tu veux dire qu'un joueur a 10 lignes à la suite dans la base ?
    Il n'empeche que $pronostiquejoueurTR[$i] : a chaque tour de while tu recuperes $pronostiquejoueurTR['1N2']

    Il serait plus exact de stocker dans ta base la position de la grille
    ie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $position = $pronostiquejoueurTR['position'];
    if  ($resultofficielTR[$position]['1N2']==$pronostiquejoueurTR['1N2'])
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre régulier
    Inscrit en
    Juin 2009
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 114
    Points : 94
    Points
    94
    Par défaut
    je veux dire que chaque grille qui contiens les resultat officiel contiens 10 resultat 10 ligne est 5 colonnes

    que je fait le tri par journée

    chaque grilles de chaque joueur contiens donc 10 resultat 10 lignes et 5 colones

    je fait deux requetes dans ses deux tables et j'essaye de comparer les valeurs ...

    DEUX enormes erreurs que j'ai fait dans mon code je ne sais pas comment recuperé un index pour chaque colonne, mon code est totalement faux ...
    en evitant de faire 10 requetes SQL ...

    mais bon je debute en sql je fais beaucoup d'erreur

    en tout cas merci sabotage

  7. #7
    Membre régulier
    Inscrit en
    Juin 2009
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 114
    Points : 94
    Points
    94
    Par défaut
    sabotage ... en fait les résultat officiel s'empile aussi
    les pronostique s'empile aussi je fait le tri par journée du championnat ...

    d'ou la difficulté d'applique ce que tu ma dit .. (surtout que le but est de comparé les deux valeur le pronostique et le résultat officiel)

    finalement je vais intercepté en amont les joueurs qui ont validé leur grille pour faire mon foreach

    et j'éclate chaque colonne dans un tableau indépendant que je compare ce qui donne :

    ---------------------------------------------------------------
    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
    38
    39
    40
    while ($resultofficielTR = mysql_fetch_array($resultofficiel))
            {
                $resultof1N2[] = $resultofficielTR["1N2"];
                $resultofres1[]= $resultofficielTR["resultat1"];
                $resultofres2[] = $resultofficielTR["resultat2"];
            }
     
     
    while ($pronostiquejoueurTR = mysql_fetch_array($pronostiquejoueur))
                                    {          
                                        $pronojo1N2[] =$pronostiquejoueurTR["1N2"]; 
                                        $resultjores1[] = $pronostiquejoueurTR["resultat1"];                                
                                        $resultjores2[] = $pronostiquejoueurTR["resultat2"];                      
                                    }
     
    et le calcul 
     
    for ($i=0;$i<10;$i++)
                                        {
                                            echo 'RESULTAT 1N2 :'.$resultof1N2[$i].'======='.$pronojo1N2[$i].'</br>';
                                            echo 'RESULTAT 1   :'.$resultofres1[$i].'======='.$resultjores1[$i].'</br>';
                                            echo 'RESULTAT 2   :'.$resultofres2[$i].'======='.$resultjores2[$i].'</br>';
     
                                            if ($resultof1N2[$i]==$pronojo1N2[$i])
                                            {
                                                echo 'POUR CE RESULTAT : '.$resultof1N2[$i].$pronojo1N2[$i].'</br>';
                                                $points += 2 ;
                                                echo 'LE COMPTEUR EST A :'.$compteurs.'</br>';
                                            }
                                            if ($resultofres1[$i]==$resultjores1[$i])
                                            {
                                                echo 'la boucle de calcul est : '.$resultofres1[$i].$resultjores1[$i].'</br>';
                                                $points += 1 ;
                                            }
                                            if ($resultofres2[$i]==$resultjores2[$i])
                                            {
                                                echo 'la boucle de calcul est : '.$resultofres2[$i].$resultjores2[$i].'</br>';
                                                $points += 1 ;
                                            }
                                            echo 'STEP'.$i.' le nombre de point est  :'.$points.'</br>';
    laborieux ....

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

Discussions similaires

  1. [Tableaux] Message d'erreur dans un foreach
    Par maysa dans le forum Langage
    Réponses: 2
    Dernier message: 14/08/2007, 11h45
  2. [JSTL] Checkboxes dans un foreach
    Par BadIsGood dans le forum Taglibs
    Réponses: 2
    Dernier message: 29/06/2007, 18h58
  3. [C#]utilisation de variables contenu dans un foreach
    Par beufreecasse dans le forum Windows Forms
    Réponses: 2
    Dernier message: 01/11/2006, 20h42
  4. [SGBD] [POO PHP 4.4.2] Problème mysql_query dans une fonction
    Par Djoul dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 16/06/2006, 13h25
  5. Problème de variable dans un foreach
    Par VolaiL dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 18/05/2006, 16h57

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