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 :

Compte � rebours dans une boucle et variable


Sujet :

JavaScript

  1. #1
    Membre habitu�
    Homme Profil pro
    �tudiant
    Inscrit en
    D�cembre 2017
    Messages
    10
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 42
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : D�cembre 2017
    Messages : 10
    Par d�faut Compte � rebours dans une boucle et variable
    Bonjour � tous,

    J'essai actuellement de faire un compte � rebours en Javascript dans une boucle PHP tout en prenant des infos depuis ma base de donn�es.

    En parcourant les script et tutoriel sur le web je me suis donc inspir� de ce script pour commencer � le batir:
    https://www.aidoweb.com/tutoriaux/co...javascript-302

    Deux soucis me perturbe:

    1 - Dans la partie L'Id me donne 51 depuis ma base de donn�es (51 est la bonne valeur donc ok). Mais dans le code JavaScript
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    var id_game = "<?php echo $row['id'];?>";
    id_game me donne comme valeur 47 et la je ne comprend pas pourquoi... bien sur su je remplace la valeur 47 par 51 manuellement le compteur fonctionne sur le premier jeux de la liste.

    2 - Pour la boucle des comptes � rebours, je ne vois comment faire pour la cr�er en JavaScript, comme vous pouvez voir dans le code je commence par ajouter l'id du jeux � l'id de la Div mais ensuite? Tout ce que j'ai essay� ne fonctionne pas, enfin d�j� il faudrait que j'arrive a pouvoir r�cup�r� le bonne id_game dans le javascript.

    - La partie pour r�cup�rer la date de fin du compte � rebours fonctionne
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    var date_cpt = "<?php echo $row['date_cpt'];?>";
    Merci � ceux ou celles qui pourront m'aider, je sais que le sujet � d�j� �t� trait�, j'ai fait pas mal de recherches mais je ne trouve pas de r�ponses � mes questions.

    Voici le code avec mes modifications:

    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
    <script type="text/JavaScript">
     
    var date_cpt = "<?php echo $row['date_cpt'];?>";
    var id_game = "<?php echo $row['id'];?>";
    var multirebour =  "homepage_gift_rebour_" + id_game ;
    var Affiche=document.getElementById(multirebour);
     
    function Rebour() {
    var date1 = new Date();
    var date2 = new Date (date_cpt);
    var sec = (date2 - date1) / 1000;
    var n = 24 * 3600;
    if (sec > 0) {
    j = Math.floor (sec / n);
    h = Math.floor ((sec - (j * n)) / 3600);
    mn = Math.floor ((sec - ((j * n + h * 3600))) / 60);
    sec = Math.floor (sec - ((j * n + h * 3600 + mn * 60)));
    Affiche.innerHTML = " " + id_game +" Temps restant : " + j +" j "+ h +" h "+ mn +" min "+ sec + " s ";
    window.status = " " + id_game +" Temps restant : " + j +" j "+ h +" h "+ mn +" min "+ sec + " s ";
    }
    tRebour=setTimeout ("Rebour();", 1000);
    }
    Rebour();
     
    </script>
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <label id="homepage_gift_rebour_'.$row['id'].'"></label>

  2. #2
    Expert confirm�
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 681
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 681
    Par d�faut
    essayez le code qui est dans le 1er message de la discussion suivante, cela pourra peut-�tre vous aider :
    https://www.developpez.net/forums/d1...ur-incremente/

  3. #3
    Membre habitu�
    Homme Profil pro
    �tudiant
    Inscrit en
    D�cembre 2017
    Messages
    10
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 42
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : D�cembre 2017
    Messages : 10
    Par d�faut
    Merci Mathieu pour votre lien, j'ai test� le code dans une page html, je constate que le temps de calcul du compteur en lui m�me met un peu de temps � charger.

    Je vais essay� de l'int�grer et l'adapter avec mes donn�es pour voir ce que cela donne.

  4. #4
    Membre habitu�
    Homme Profil pro
    �tudiant
    Inscrit en
    D�cembre 2017
    Messages
    10
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 42
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : D�cembre 2017
    Messages : 10
    Par d�faut
    Merci encore Mathieu mais j'ai abandonn� le code qu'il y a sur le lien que tu m'a donn�, ma page met trop de temps � charger.

    Je suis donc revenu sur mon point de d�part, j'arrive maintenant � afficher mes compte � rebours dans la boucle php, � deux soucis pr�s:
    - Les compteurs s'affichent mais il n'y en a qu'un seul qui d�compte dynamiquement, les autres restent statiques.
    - Sur ma boucle qui pr�sente une liste de 6 jeux, le compteur sur le sixi�me en fin de liste ne s'affiche pas.

    Pour le premier point, j'ai cru comprendre qu'il faudrait rajouter un " new Array() " mais je ne sais pas ou, j'ai voulu le placer apr�s " Affiche.innerHTML " mais �a ne fonctionne pas.

    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
    <script type="text/JavaScript">
    var date_cpt = "<?php echo $row['date_cpt'];?>";
    var id_games2 = parseInt("<?php echo $idgame;?>");
    var id_games = parseInt(id_games2);
    var test =  "homepage_gift_rebour_" + id_games ;
     
    var Affiche= document.getElementById(test);
    function Rebour() {
    var date1 = new Date();
    var date2 = new Date (date_cpt);
    var sec = (date2 - date1) / 1000;
    var n = 24 * 3600;
    if (sec > 0) {
    j = Math.floor (sec / n);
    h = Math.floor ((sec - (j * n)) / 3600);
    mn = Math.floor ((sec - ((j * n + h * 3600))) / 60);
    sec = Math.floor (sec - ((j * n + h * 3600 + mn * 60)));
     
    Affiche.innerHTML = "Temps restant : " + j +" j "+ h +" h "+ mn +" min "+ sec + " s ";
    window.status = "Temps restant : " + j +" j "+ h +" h "+ mn +" min "+ sec + " s ";
    }
    tRebour=setTimeout ("Rebour();", 1000);
    }
    Rebour();
    </script>

  5. #5
    Expert confirm�
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 681
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 681
    Par d�faut
    votre exemple avec un compteur fonctionne.
    montrez nous le code que vous avez essay� avec 2 compteurs.

  6. #6
    Membre habitu�
    Homme Profil pro
    �tudiant
    Inscrit en
    D�cembre 2017
    Messages
    10
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 42
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : D�cembre 2017
    Messages : 10
    Par d�faut
    Merci pour votre r�ponse. Et bien en fait c'est celui que j'ai post� au dessus.

    Le JavaScript:
    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
    <script type="text/JavaScript">
    var date_cpt = "<?php echo $row['date_cpt'];?>";
    var id_games2 = parseInt("<?php echo $idgame;?>");
    var id_games = parseInt(id_games2);
    var test =  "homepage_gift_rebour_" + id_games ;
     
    var Affiche= document.getElementById(test);
    function Rebour() {
    var date1 = new Date();
    var date2 = new Date (date_cpt);
    var sec = (date2 - date1) / 1000;
    var n = 24 * 3600;
    if (sec > 0) {
    j = Math.floor (sec / n);
    h = Math.floor ((sec - (j * n)) / 3600);
    mn = Math.floor ((sec - ((j * n + h * 3600))) / 60);
    sec = Math.floor (sec - ((j * n + h * 3600 + mn * 60)));
     
        if(sec < 10) {
            sec = '0' + sec;
        }
     
    Affiche.innerHTML = "Temps restant : " + j +" j "+ h +" h "+ mn +" min "+ sec + " s ";
    window.status = "Temps restant : " + j +" j "+ h +" h "+ mn +" min "+ sec + " s ";
    }
    tRebour=setTimeout ("Rebour();", 1000);
    }
    Rebour();
    </script>
    Dans mon php:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <label id="homepage_gift_rebour_'.$idgame.'" class="homepage_gift_rebour"></label>
    Avec ceci, j'ai mes compte � rebours qui s'affiche, mais seulement 1 seul d�compte de mani�re dynamique pour les autres il faut r�actualiser la page pour voir la diff�rence des d�comptes.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [PHP 5.2] factoriser dans une boucle avec variables
    Par mussara dans le forum Langage
    R�ponses: 5
    Dernier message: 05/02/2009, 14h58
  2. [VB.net] Declaration variable dans une boucle for
    Par nico10gbb dans le forum Windows Forms
    R�ponses: 4
    Dernier message: 10/05/2006, 11h45
  3. R�ponses: 6
    Dernier message: 17/03/2006, 12h23
  4. R�ponses: 3
    Dernier message: 01/09/2005, 11h56
  5. [langage] incrementation de variable dans une boucle
    Par mimilou dans le forum Langage
    R�ponses: 15
    Dernier message: 16/04/2004, 13h23

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