Partage
  • Partager sur Facebook
  • Partager sur Twitter

Compte a rebours javascript depuis date bdd

    22 mai 2019 à 14:16:38

    Hello à tous ! 

    J'ai fais le tour de pas mal de sites car je souhaite creer un compte a rebours en javascript pour une vente aux encheres. Alors en fait dans ma base de données j'ai un champ date et un champ heure et je souhaiterai créer un timer qui compare la date système avec ces informations pour m'afficher le temps restant. 

    Est ce que quelqu'un aurait une piste pour m’éclairer . J'ai bien essayé de suivre un tutoriel m'indiquant le code suivant mais la date est mise en dure dans le système et non depuis une base de données...

    <div id="compte_a_rebours"><noscript>Fin de l'évènement le 1er janvier 2018.</noscript></div>
    <script type="text/javascript">
    function compte_a_rebours()
    {
        var compte_a_rebours = document.getElementById("compte_a_rebours");
    
        var date_actuelle = new Date();
        var date_evenement = new Date("Jan 1 00:00:00 2017");
        var total_secondes = (date_evenement - date_actuelle) / 1000;
    
        var prefixe = "Compte à rebours terminé dans ";
        if (total_secondes < 0)
        {
            prefixe = "Compte à rebours terminé il y a "; // On modifie le préfixe si la différence est négatif
            total_secondes = Math.abs(total_secondes); // On ne garde que la valeur absolue
        }
    
        if (total_secondes > 0)
        {
            var jours = Math.floor(total_secondes / (60 * 60 * 24));
            var heures = Math.floor((total_secondes - (jours * 60 * 60 * 24)) / (60 * 60));
            minutes = Math.floor((total_secondes - ((jours * 60 * 60 * 24 + heures * 60 * 60))) / 60);
            secondes = Math.floor(total_secondes - ((jours * 60 * 60 * 24 + heures * 60 * 60 + minutes * 60)));
    
            var et = "et";
            var mot_jour = "jours,";
            var mot_heure = "heures,";
            var mot_minute = "minutes,";
            var mot_seconde = "secondes";
    
            if (jours == 0)
            {
                jours = '';
                mot_jour = '';
            }
            else if (jours == 1)
            {
                mot_jour = "jour,";
            }
    
            if (heures == 0)
            {
                heures = '';
                mot_heure = '';
            }
            else if (heures == 1)
            {
                mot_heure = "heure,";
            }
    
            if (minutes == 0)
            {
                minutes = '';
                mot_minute = '';
            }
            else if (minutes == 1)
            {
                mot_minute = "minute,";
            }
    
            if (secondes == 0)
            {
                secondes = '';
                mot_seconde = '';
                et = '';
            }
            else if (secondes == 1)
            {
                mot_seconde = "seconde";
            }
    
            if (minutes == 0 && heures == 0 && jours == 0)
            {
                et = "";
            }
    
            compte_a_rebours.innerHTML = prefixe + jours + ' ' + mot_jour + ' ' + heures + ' ' + mot_heure + ' ' + minutes + ' ' + mot_minute + ' ' + et + ' ' + secondes + ' ' + mot_seconde;
        }
        else
        {
            compte_a_rebours.innerHTML = 'Compte à rebours terminé.';
        }
    
        var actualisation = setTimeout("compte_a_rebours();", 1000);
    }
    compte_a_rebours();
    </script>


    Merci d'avance pour vos tuyaux ;) 

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      22 mai 2019 à 15:50:39

      Il ne vaut mieux pas que tu récupère la date/heure actuelle en JS car j'imagine que ça récupèrera celle du poste client.

      Donc côté serveur (PHP ?) tu dois récupérer la date/heure de fin (dans ta BDD) et le date/heure du serveur (qui sera commun pour tous les users).
      Le code semble faire évoluer ton timer de X à 0. Une fois que tu as récupéré tes infos côté serveur, tu peux utiliser ce code en changeant date_actuelle date_evenement.

      • Partager sur Facebook
      • Partager sur Twitter
        22 mai 2019 à 16:02:04

        Je me suis dis que ça pouvait permettre de faire le calcul par la suite. Ce sera un site en local, principalement pour une présentation

        Justement je me demandais quoi mettre dans date_evenement afin de récupérer les valeurs dans ma base de données (qui sont 2 champs séparés), peut etre par une requete php ? 

        • Partager sur Facebook
        • Partager sur Twitter

        Compte a rebours javascript depuis date bdd

        × 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