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 :

Instructions tres complexe à réaliser


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 124
    Par défaut Instructions tres complexe à réaliser
    Bonjour,

    Je vous explique mon souci. En faite je code un petit système de prono-foot pour le site de mon club, et aprés pas mal de boulot, je bloque sur certaines choses.

    Une fois les pronostiques fait, je souhaiterais que dès que les matchs sont passés, comparer les résultats et si ils sont bons, ajouter 5 points pour un bon prono, et 0 pour les mauvais, je bloque déjà pour ce premier souci.

    Mon second problème est que j'ai créé également une table qui me permet de détaillé les stats. Dans ma table il y a les divisions "pronostiquables":

    Ligue1 || Ligue1_faux || Ligue2 || Ligue2_faux || etc...

    Mais comment enregistrer dans le champ Ligue1, les bons pronos, et dans Ligue1_faux les mauvais

    Je ne sais pas si j'ai réussi à me faire comprendre. Je buche pas mal, mais je ne trouve vraiment pas la solution, et peut être que mes tables ne sont pas adaptées.

    En vous remerciant d'avance pour vos réponses

  2. #2
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2009
    Messages : 236
    Par défaut
    Citation Envoyé par roukgreg Voir le message
    Une fois les pronostiques fait, je souhaiterais que dès que les matchs sont passés, comparer les résultats et si ils sont bons, ajouter 5 points pour un bon prono, et 0 pour les mauvais, je bloque déjà pour ce premier souci.
    Il suffit de faire une simple boucle en vérifiant l'égalité :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if(lepronostic == leresultat)
       point += 5;
    Citation Envoyé par roukgreg Voir le message
    Mon second problème est que j'ai créé également une table qui me permet de détaillé les stats. Dans ma table il y a les divisions "pronostiquables":

    Ligue1 || Ligue1_faux || Ligue2 || Ligue2_faux || etc...

    Mais comment enregistrer dans le champ Ligue1, les bons pronos, et dans Ligue1_faux les mauvais
    Je ne suis pas sur d'avoir tout bien saisis cette fois mais si j'ai bien compris il te suffit dans ton if (si) du dessus d'ajouter que si le pronostic est bon tu l'enregistre dans ligue1 sinon dans ligue1_faux.

  3. #3
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Salut

    Ligue1 || Ligue1_faux || Ligue2 || Ligue2_faux || etc...
    Ceci m'intrigue particulièrement.
    Quand on a une donnée qui se répète comme ici : ligue1, ligue1, etc ... normalement faudrait pas mettre tous les champs dans 1 table mais dans au moins 2 tables.
    Mais théoriquement tu devrais déjà avoir une table "ligue", ou une table qui désigne que tel club est associé à telle ligue.


    Après, je suis 100% boulet coté foot, j'en sais fichtre rien concernant les règles de notations.
    Mais selon ton explication, j'ai du mal à voir l'utilité de tous ces champs que tu compte créer.
    Je perçois plutôt des points qui seraient accordés, et apparemment ça s'additionnerait à chaque fois (pas de soustraction).
    En gros, le plus mauvais score serait de 0 (jamais trouvé), et le maximum serait l'équivalent du total des pronostiques effectués (ou match disputés).
    En finalité, ceci devrait se représenter par un champ "prono".

    Mais là où je ne pige pas vraiment, c'est pourquoi vouloir mettre 5 points ?
    Pour ma part c'est 0 ou 1 (booleen) : Soit le pronostique est bon, soit il n'est pas bon.
    Si c'est une question de confort ou d'habitude, il suffit ici coté affichage uniquement de faire une banale multiplication : nombre (ou somme) des pronostiques X 5 (tout simplement).

    Maintenant, s'il y a une notion de "à moiter bon", ou encore "3/4 bon", là d'accord.
    (accorder : 1 ou 2, 3 4 voir 5 selon le degré des pronostiques).


    Mais encore, il me semble que les pronostiques ne seraient pas du coté des ligues, mais des match, car c'est sur les match à disputer qu'on lieu les pronostiques, non ?
    Donc normalement ça devrait être à ce niveau là, puis rajouter un champ "prono" en y mettant 0 ou 1 tout simplement.

    Au bout pour obtenir les stats :
    - Les bons : Somme champ "pronos" des valeurs 1
    - Les faux : Somme champ "pronos" des valeurs 0


    En résumer, il n'y aurait nulle part de champ ligue1_bon, ligue1_faux,etc ..., juste 1 champ pronos (0 ou 1).
    Une Bdd comme MySQL peu calculer ça vitesse grand V.


    En espérant ne pas être à coté de la plaque.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 124
    Par défaut
    Bonjour,

    En faite gwharl j'enregistre les résultats dans 2 champs différents, score_dom et score_ext, donc si je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if(score_dom AND score_ext == prono_dom AND prono_ext)
       point += 5;
    est-ce que ca fontionnerais quand même?

    RunCodePhp j'ai créé tout les champs pour proposer des statistiques légérement poussés. Aprés il y aura des points attribuer suivant si le score pronostiqué est exacte, ou si le score est faux mais l'équipe gagnante est correcte etc... Donc un système de point avec 5points, 3points et 0points.

    Je pense que je vais devoir peut etre revoir mes tables, car j'ai créé 4 tables pour les pronostiques (stat_prono, match_prono, prono, equipe), mais je ne suis pas sur d'avoir fait les bons choix pour certains champs.

    Je vais travailler un peu les codes, car je n'arrive pas à coder tout ça je m'embrouille grave.

    Un peu de repos s'impose

  5. #5
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2009
    Messages : 236
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if(score_dom == prono_dom && score_ext == prono_ext)
       point += 5;
    && signifie "et"
    || signifie "ou"

    Choisis le bon selon ton usage.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 124
    Par défaut
    Voilà j'ai quasiment fini de taper le code pour tout ça, mais comme je m'en doutais j'ai un petit problème.

    Lorsque je rentre les résultats, je demande la comapraison, et l'ajout de point pour les stats etc...

    Mais malheureusement ça ne fonctionne pas, et je ne sais pas pourquoi, j'ai tenté plusieurs choses, des clauses WHERE dans mes UPDATE, une boucle qui tourne en fonction des joueurs dans mes tables etc... Mais rien n'y fait, l'incrémentation de points, de stats ne se fait pas ou ne se fait pas correctement.

    Ou ça m'enregistre tout les matchs pour chaque joueurs(si 1 joueur a prono 10 matchs et un autre 10 matchs, ca va m'enregistrer 20 matchs pour chaque joueurs), ou ça ne m'enregistre les matchs que pour un joueur, etc...

    Auriez vous une idée?

    Voici mon code:

    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    <?php
    while($compar = mysql_fetch_array($query_comp_prono))
    {
        if($compar['score_dom_prono'] == $compar['resultat_dom'] AND $compar['score_ext_prono'] == $compar['resultat_ext'])
        {
     
            if($compar['fini'] == 0)
            {
                //Requete pour inserer les points si les résultats pronostiques sont correctes
                $point_prono = "UPDATE $table_18 SET point = '".$compar['point']."' + 5, prono_correcte = '".$compar['prono_correcte']."' + 1";
     
                    $query_prono = mysql_query($point_prono) or die (mysql_error());
     
                            //Recupere la competition dans l'URL est supprime les espaces si besoin
                        $competition = str_replace(' ','',$_GET['competition']);
     
                            //Requête pour inserer les statistiques si les pronostiques sont correctes dans la table compt_prono
                            $stat_compet = "UPDATE $table_21 SET ".$competition." = ".$compar[$competition]." + 1";
     
                                $query_stat_compet = mysql_query($stat_compet) or die (mysql_error());
     
    //Requête pour changer le statut du match si le prono a deja ete valide ou non
                                    $statut_prono = "UPDATE $table_17 SET fini = 1 WHERE id_match =  '".$value."'";
     
    $query_statut_prono = mysql_query($statut_prono) or die (mysql_error());
            }
     
        }
        else
        {
     
     
            if($compar['fini'] == 0)
            {
                //Requete pour inserer les points si les résultats pronostiques sont faux
                $point_prono = "UPDATE $table_18 SET prono_faux = '".$compar['prono_faux']."' + 1";
     
                    $query_prono = mysql_query($point_prono) or die (mysql_error());
     
                        //Recupere la competition dans l'URL est supprime les espaces si besoin
                            $competition = str_replace(' ','',$_GET['competition']);
                            $competition_faux = $competition."_faux";                    
     
                                //Requête pour inserer les statistiques si les pronostiques sont faux dans la table compt_prono
                                $stat_compet = "UPDATE $table_21 SET ".$competition_faux." = ".$compar[$competition_faux]." + 1";
     
                                    $query_stat_compet = mysql_query($stat_compet) or die (mysql_error());
     
    //Requête pour changer le statut du match si le prono a deja ete valide ou non
    $statut_prono = "UPDATE $table_17 SET fini = 1 WHERE id_match =  '".$value."'";
     
        $query_statut_prono = mysql_query($statut_prono) or die (mysql_error());
            }
        }
     
    }?>
    En vous remerciant d'avance pour vos réponses

Discussions similaires

  1. [AC-2010] requête ajout complexe à réaliser avec des duplications
    Par ludosnip dans le forum Access
    Réponses: 2
    Dernier message: 24/03/2015, 19h09
  2. auto jointure tres complexe
    Par twixster dans le forum Requêtes
    Réponses: 6
    Dernier message: 13/05/2009, 16h20
  3. tri tres complexe
    Par pinguy_k dans le forum Requêtes
    Réponses: 1
    Dernier message: 18/05/2008, 10h38
  4. Réponses: 21
    Dernier message: 24/09/2007, 15h12
  5. analyse tres complexe de fichier
    Par makohsarah dans le forum Langage
    Réponses: 6
    Dernier message: 17/08/2006, 10h40

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