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

JavaScript Discussion :

Aide pour un compteur tout simple


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 18
    Par défaut Aide pour un compteur tout simple
    Salut tous le monde,

    Je souhaite créer un compteur tout simple je m'explique:

    Je veux que ce compteur s'incrémente de +1 ou peu importe de toute manière cette variable sera modifiable par l'admin (elle sera stockée en bdd), toutes les x secondes (secondes variables).

    je veux que mon compteur parte d'un chiffre donne (exemple 200000) et s'incremente toutes les 3 secondes par exemple de +2.

    j'espère être clair dans mon explication ce n'est pas facile.

    J'ai trouver un script qui fonctionne mais le problème c'est que lorsque tu recharge la page tu reviens a la valeur de la variable de depart.

    je vous poste quand même le code de ce compteur:

    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
     
    <script type="text/javascript">
    <?php
     
    $timeDep = 2000;
    echo "var i = ".$timeDep++.";";
     
    ?>
     
    function incremente()
    {
    	document.getElementById("afficheI").innerHTML = i;
    	i++;
    	setTimeout("incremente()", 1000);
    }
     
    window.onload = incremente;
    </script>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <span id=\"afficheI\"></span>
    Pour etre plus clair, je precise mon but :
    ce compteur va afficher le nombre de litre economise depuis une date, donc incrémentera a l'infini.

  2. #2
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Citation Envoyé par MrAl1985 Voir le message
    J'ai trouver un script qui fonctionne mais le problème c'est que lorsque tu recharge la page tu reviens a la valeur de la variable de depart.
    Bonjour,

    Ce sera le cas avec d'autres scripts itou car le Javascript s'exécute côté client. Or un rechargement de la page nettoie tout et renvoi les données du serveur.

    Il y aurait peut-être moyen de faire des calculs selon l'heure du serveur ou bien d'utiliser l'ajax pour raffraichir une variable côté serveur qui serait en permanence à jour.

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Par défaut
    Bonjour,

    Je confirme, le problème ne vient pas de ton Javascript. Il faut que ton serveur mette à jour ta valeur de départ en parallèle de la visualisation de tes pages.

    devyan

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 18
    Par défaut
    Merci pour vos réponses,
    donc en clair il faudrait que mon compteur sois un script entièrement code en php et le javascript servant seulement a afficher ce script ? ou je me perds

    si cette variable de depart es liee au temps grace a mktime() ou une autre fonction ce serait possible ?

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Par défaut
    Citation Envoyé par MrAl1985 Voir le message
    Merci pour vos réponses,
    donc en clair il faudrait que mon compteur sois un script entièrement code en php et le javascript servant seulement a afficher ce script ? ou je me perds

    si cette variable de depart es liee au temps grace a mktime() ou une autre fonction ce serait possible ?
    Bonjour,

    Il ne faut pas oublier que l'on parle de site web (ou intra/extranet le problème reste le même)
    Donc plusieurs utilisateurs peuvent demander la même page (plus ou moins) en même temps. => C'est ton serveur qui doit fournir le compteur et donc gérer son incrémentation (dans ton cas une valeur de la base de données incrémentée toutes les X secondes)

    Ensuite tu as une seconde problématique qui correspond à la visualisation de l'évolution du compteur pour l'utilisateur. Là comme décrit précédemment tu as (au moins) 2 solutions possibles :
    1/ avoir un script qui fait le même calcul que celui effectué sur ton serveur :
    (+) c'est le navigateur qui évalue le compteur, il n'y a pas de "surcharge" du serveur pour appeler la valeur à afficher.
    (-) le calcul "déporté" peut induire un décalage dans la valeur du compteur du fait du fonctionnement "déconnecté"

    2/ avoir un script qui interroge le serveur (AJAX) pour mettre à jour le compteur :
    (+) c'est le serveur qui fourni la valeur
    (-) les appels répétés au serveur pour afficher cette valeur vont le "surcharger"

    devyan

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 117
    Par défaut
    Je vais peut-être dire une grosse connerie mais comme dit plus haut, il y a pas moyen de faire des calcul avec les dates ?

    Par exemple tu crées deux variables fixes avec ton chiffre de départ et ta date de départ, et à partir de cette date, tu calcules le nombre de secondes écoulées jusqu'à maintenant, et en fonction de ça, tu calcules de combien sera ton incrémentation sur ton chiffre fixe, et tu affiches ton chiffre fixe + ton incrémentation totale ?

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

Discussions similaires

  1. Petite aide pour un truc tout simple
    Par ashaa3k dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 13/04/2012, 13h04
  2. Réponses: 11
    Dernier message: 23/05/2007, 10h53
  3. besoin d'aide pour comprendre un exo simple de java
    Par chadel dans le forum Langage
    Réponses: 2
    Dernier message: 16/03/2007, 23h27
  4. Réponses: 39
    Dernier message: 21/10/2006, 13h53
  5. Aide pour Requete (compteur specifique)
    Par DreamerCG dans le forum Requêtes
    Réponses: 1
    Dernier message: 13/07/2006, 10h34

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