Partage
  • Partager sur Facebook
  • Partager sur Twitter

Additioner des valeurs dans une boucle

Sujet résolu
    21 février 2006 à 22:33:39

    Voilà j'ai fais un système de loterie (je passe les détails), puis je fais une boucle pour afficher les gains en fonction du nombre de numeros gagnants.

    Là j'aimerais voir le nombre total de ces gains

    while ($val_ticket_enjeu = mysql_fetch_array($nb_ticket_enjeu))
    {
    $user     = $val_ticket_enjeu['numero'];
    $id_ticket      = $val_ticket_enjeu['id_ticket'];
    $id_joueur      = $val_ticket_enjeu['id_joueur'];
    $nbr_gagnant = (similar_text($gagnant, $user)-2);
            if ($nbr_gagnant > 1)
            {
            // switch des gain
            $return_gain = mysql_query("SELECT gain FROM loterie_gain WHERE valeur='$nbr_gagnant'");
            $donnne_gain = mysql_fetch_array($return_gain);
            $gain = $donnne_gain['gain'];
            }
    }


    comment additioner les $gain?
    • Partager sur Facebook
    • Partager sur Twitter
      21 février 2006 à 22:35:49

      Fais un select de tous les gagnants, en comptant.

      Dans la boucle, while, une condition "tant que le nb de gagnants est sup. à 0", addition du dernier gain enregistré avec le gain en cours, et décrémentation du nb de gagnants.


      Lpu8er
      • Partager sur Facebook
      • Partager sur Twitter
        21 février 2006 à 22:39:00

        ouech sauf que la suite du code supprime directement les personnes et leur numero de tiket :p

                        while ($val_ticket_enjeu = mysql_fetch_array($nb_ticket_enjeu))
                        {
                                $user     = $val_ticket_enjeu['numero'];
                                $id_ticket      = $val_ticket_enjeu['id_ticket'];
                                $id_joueur      = $val_ticket_enjeu['id_joueur'];
                                $nbr_gagnant = (similar_text($gagnant, $user)-2);
                        if ($nbr_gagnant > 1)
                        {
                        // switch des gain
                                $return_gain = mysql_query("SELECT gain FROM loterie_gain WHERE valeur='$nbr_gagnant'");
                                $donnne_gain = mysql_fetch_array($return_gain);
                        $gain = $donnne_gain['gain'];
                        // on va chercher les credits du joueur
                                $return_credit_user = mysql_query("SELECT credits FROM users WHERE id=".$id_joueur);
                                $donnne_credit_user = mysql_fetch_array($return_credit_user);
                        $credit_sess = $donnne_credit_user['credits'];
                        /// on ajoute les gains, on envoit un mp,on log les gains totaux, on delete les tickets
                        $gain2 = $credit_sess + $gain;
                        $result_credit2 = mysql_query("UPDATE users SET credits='$gain2' WHERE id=".$id_joueur)or die(mysql_error());
                                $message = "Félicitations !!!<br /><br />
                                Votre ticket de loterie est gagnant, voici vos gains : <b>$gain CC</b><br /><br />
                                Votre numéro : $user
                                <br />
                                Le numéro gagnant : $gagnant
                                <br />
                                Nombre de chiffre(s) gagnant(s) : $nbr_gagnant
                                <br /><br />
                                N\'hésitez pas à rejouer"
        ;
                        $envoi_mp = mysql_query("INSERT INTO msg (id_to, id_from, msg, date, mode) VALUES ('$id_joueur', '1', '$message', '".time()."', '0')");
                        }
                        else
                        {
                                $message = "Dommage !!!<br /><br />
                                Votre ticket de loterie est perdant<br /><br />
                                Votre numéro : $user
                                <br />
                                Le numéro gagnant : $gagnant
                                <br />
                                Aucun nombre gagnant
                                <br /><br />               
                                N\'hésitez pas à rejouer"
        ;
                        $envoi_mp = mysql_query("INSERT INTO msg (id_to, id_from, msg, date, mode) VALUES ('$id_joueur', '1', '$message', '".time()."', '0')");      
                        }
                        $delete_loterie = mysql_query("DELETE FROM loterie")or die(mysql_error());
                        }


        ça c'est la partie complète
        • Partager sur Facebook
        • Partager sur Twitter
          21 février 2006 à 22:41:07

          Mmmmmmmm...

          Conserver le dernier gain en date (avec une seconde variable, par exemple $last_gain, initialisée à 0 avant la boucle), additionner dans la boucle suivante $last_gain et $gain... ?


          Lpu8er

          J'édite pour pas gêner ceux qui auraient des réponses rapides...
          Non, il s'agirait juste d'une variable $last_gain, avec, à la fin de la boucle,
          $last_gain = $gain.
          Au début de la boucle, on aurait $gain = $last_gain + $gain (la flemme des raccourcis).
          • Partager sur Facebook
          • Partager sur Twitter
            21 février 2006 à 22:44:34

            je vais ajouter une table qui va loguer les gagnants et leurs gains comme ça je pourrai meme afficher celui qui s'est le plus enrichit :p
            • Partager sur Facebook
            • Partager sur Twitter

            Additioner des valeurs dans une boucle

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown