Partage
  • Partager sur Facebook
  • Partager sur Twitter

Compteur en javascript

Affichage sur une page html

    18 juin 2019 à 10:21:16

    Bonjour,

    j'ai un compteur (de population) en javascript qui est dans un fichier php(car je dois récupérer des données d'une base de données), mais quand je veux afficher ces compteurs sur une page html, ils restent bloqués à 0 et ne démarrent pas

    Voici mon code html : 

    <script src ="../envoi.php">
    
    
    </script>
    
    <p id="timer"> 0 </p>
    
    Population française || French population || Franse bevolking
    
    <p id="timerFr"> 0 </p>
    
    </body>

    Et voici le code des fonctions pour les compteurs :

        function augmenterMonde() //on crée une fonction pour incrémenter/augmenter la population mondiale
        {
            populationActuelleMondiale += 1; //on rajoute une naissance à la population actuelle
    
            document.getElementById("timer").innerHTML = new Intl.NumberFormat().format(Math.round(populationActuelleMondiale));
            //on joint le compteur à la variable populationActuelle qui va s'incrémenter, on rajoute Math.round(i) pour avoir un chiffre entier sans virgules
        }
    
        setInterval("augmenterMonde()", 1000/2.7); // Pour trouver quel temps il y a entre chaque naissance on fait un produit en croix c'est-à-dire (1000*1/0.02)
        function augmenterFr() //on crée une fonction pour incrémenter/augmenter la population française
        {
            populationActuelleFr += 0.02; //on rajoute une naissance à la population actuelle française
    
            document.getElementById("timerFr").innerHTML = new Intl.NumberFormat().format(Math.round(populationActuelleFr));
            //on joint le compteur à la variable populationActuelle qui va s'incrémenter, on rajoute Math.round(i) pour avoir un chiffre entier sans virgules
        }
    
        setInterval("augmenterFr()", 1000); // Pour trouver quel temps il y a entre chaque naissance on fait un produit en croix c'est-à-dire (1000*1/2.7)

    Je ne comprend pas pourquoi les compteurs restent à 0 



    • Partager sur Facebook
    • Partager sur Twitter
      18 juin 2019 à 19:04:00

      Bonjour MarineAppourchaux;

      Tu n'as pas déclaré globalement les variables populationActuelleMondiale  et populationActuelleFr

      ReferenceError: populationActuelleMondiale is not defined
      ReferenceError: populationActuelleFr is not defined



      -
      Edité par AliasDmc 18 juin 2019 à 19:04:10

      • Partager sur Facebook
      • Partager sur Twitter
      Découvrez les Css avec la zonecss.fr
        19 juin 2019 à 8:35:59

        Si si elles sont définies dans le code js
        • Partager sur Facebook
        • Partager sur Twitter
          Staff 19 juin 2019 à 9:27:28

          MarineAppourchaux a écrit:

          Si si elles sont définies dans le code js

          Bonjour, en l'occurrence dans le code que vous nous transmettez, elles ne sont pas définie d’où l’erreur indiquée par   AliasDmc.

          Pourriez-vous nous fournir le code complet? merci

          -
          Edité par AbcAbc6 19 juin 2019 à 9:28:26

          • Partager sur Facebook
          • Partager sur Twitter
            19 juin 2019 à 9:35:36

            Voici le code complet en js :

             <script>
            
                    var nbdeces = <?php echo $variable; ?>;
                    var populationJanvierMondiale = 7672000000 - nbdeces; //La population mondiale au 1er janvier 2019
                    var nbNaissanceJourMonde = 233280; //il y a 2.7 naissances par secondes(donc 1000 millisecondes) on multiplie 2.7 par 86400000 (nombre de millisecondes en une journée) et on le divise par 1000 pour obtenir le résultat c'est-à-dire le nombre moyen de naissances par jour(cf produit en croix)
                    var populationJanvierFr = 67000000; //populat// ion fr au 1er janvier 2019
                    var nbNaissanceJourFr = 1431.98; //Chaque jour la population de la france varie de +1431.98
                    var populationActuelleMondiale = 0;
                    var populationActuelleFr = 0;
            
                    function getQuantieme()
                    {
                        //Déclaration des deux dates nécessaires.
                        var dateCourante = new Date();
                        var dateDebutAnnee = new Date();
                        //On affecte à la date du début de l'année, le mois 1, le jour 1 et l'année courante
                        dateDebutAnnee.setDate(1);
                        dateDebutAnnee.setMonth(0);
                        dateDebutAnnee.setFullYear(dateCourante.getFullYear());
                        //On calcule la différence entre les deux dates. Le résultat étant en millisecondes, il faut convertir les mllisecondes en jours
                        quantieme = (dateCourante.getTime() - dateDebutAnnee.getTime()) / (24 * 3600 * 1000) + 1;
                        return Math.round(quantieme);
                    }
            
                   function augmenterMonde() //on crée une fonction pour incrémenter/augmenter la population mondiale
                    {
                        populationActuelleMondiale += 1; //on rajoute une naissance à la population actuelle
            
                        document.getElementById("timer").innerHTML = new Intl.NumberFormat().format(Math.round(populationActuelleMondiale));
                        //on joint le compteur à la variable populationActuelle qui va s'incrémenter, on rajoute Math.round(i) pour avoir un chiffre entier sans virgules
                    }
            
                    setInterval("augmenterMonde()", 1000/2.7); // Pour trouver quel temps il y a entre chaque naissance on fait un produit en croix c'est-à-dire (1000*1/0.02)
                    function augmenterFr() //on crée une fonction pour incrémenter/augmenter la population française
                    {
                        populationActuelleFr += 0.02; //on rajoute une naissance à la population actuelle française
            
                        document.getElementById("timerFr").innerHTML = new Intl.NumberFormat().format(Math.round(populationActuelleFr));
                        //on joint le compteur à la variable populationActuelle qui va s'incrémenter, on rajoute Math.round(i) pour avoir un chiffre entier sans virgules
                    }
            
                    setInterval("augmenterFr()", 1000); // Pour trouver quel temps il y a entre chaque naissance on fait un produit en croix c'est-à-dire (1000*1/2.7)
            
                    var maintenant=new Date(); //date d'aujourd'hui
                    var jour=maintenant.getDate(); //jour
                    var mois=maintenant.getMonth()+1; //mois
                    var an=maintenant.getFullYear(); // année
            
                    if(an === 2019)
                    {
                        populationActuelleMondiale = populationJanvierMondiale + (nbNaissanceJourMonde * getQuantieme()); //On calcule la population de la journée par rapport au 1er janvier 2019
                        populationActuelleFr = populationJanvierFr + (nbNaissanceJourFr * getQuantieme()); //pareil mais pour la population frnaçaise
                    }
                    else if(an%4 === 0 || an%100 === 0 && an%400===0) //si c'est une année bissextile
                    {
                        if (jour > 28 && mois >= 2) //si on passe au 29 février d'une année bissextile on rajoutera 366 jours par rapport à l'année précédente
                        {
                            numeroAnnee = (an - 2019);
                            //on prend comme année 0 : 2019
                            populationActuelleMondiale = populationJanvierMondiale + (nbNaissanceJourMonde * (getQuantieme() + (366 ** numeroAnnee))); //On calcule la population de la journée par rapport au 1er janvier 2019
                            populationActuelleFr = populationJanvierFr + (nbNaissanceJourFr * (getQuantieme() + (366**numeroAnnee)));
                        }
                        else //si on est avant le 29 février d'une année bissextile
                        {
                            numeroAnnee = (an - 2019);
                            populationActuelleMondiale = populationJanvierMondiale + (nbNaissanceJourMonde * (getQuantieme()+(365**numeroAnnee)));
                            populationActuelleFr = populationJanvierFr + (nbNaissanceJourFr * (getQuantieme() + (365**numeroAnnee)));
                        }
                    }
                    else
                    {
                        numeroAnnee = (an - 2019);
                        populationActuelleMondiale = populationJanvierMondiale + (nbNaissanceJourMonde * (getQuantieme()+(365**numeroAnnee))); //On calcule la population de la journée par rapport au 1er janvier 2019
                        populationActuelleFr = populationJanvierFr + (nbNaissanceJourFr * (getQuantieme() + (365**numeroAnnee)));
                    }
            
            
                </script>
            



            • Partager sur Facebook
            • Partager sur Twitter
              Staff 19 juin 2019 à 9:52:21

              Bonjour, j'ai remplacé $variable;  par le chiffe 10 et cela m'affiche ceci:

              êtes- vous certaine du contenu de  $variable;  ? Que donne un console.log(nbdeces);?

              -
              Edité par AbcAbc6 19 juin 2019 à 9:54:00

              • Partager sur Facebook
              • Partager sur Twitter
                19 juin 2019 à 10:03:59

                Voici mon formulaire(affichage) pour rajouter un nb de deces à la base de données 

                Voici ce qu'il me sort : avec ce code 

                <?php
                $nbdeces=$_POST['nbdeces'];
                $req = $pdo->prepare('INSERT INTO nombre_deces(nbdeces) VALUES(:nbdeces)');
                $req->execute(array(
                    'nbdeces' => $nbdeces,
                ));
                
                echo 'Le nombre a bien été ajouté !';
                
                
                $SQL=$pdo->query("SELECT SUM(nbdeces) as totalnbdeces FROM nombre_deces");
                $data = $SQL->fetch();
                $variable = $data['totalnbdeces'];
                
                echo "Total : ".$variable;

                Puis en ayant fait un alert(nbdeces);

                Néanmoins aucun changement, les compteurs restent à 0 

                • Partager sur Facebook
                • Partager sur Twitter

                Compteur en javascript

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                • Editeur
                • Markdown