Question

Im la création d'un site Web pour mariage de mon frère. Et jusqu'à présent, tout va bien. Cependant, il veut un compte à rebours pour le mariage sur la page d'accueil;

Temps restant jusqu'à ce que le mariage. X mois, X jours, heures X

Je preferebly comme de le faire en utilisant php, mais serait ouvert à d'autres suggestions.

si vous pouvez me aider avec des idées pour le codage, ou tout simplement me pointer vers les documents pertinents, ce serait utile.

Le mariage est le samedi 30 Juillet.

Était-ce utile?

La solution

Si votre besoin de votre compteur à afficher uniquement rafraîchir la page et être statique une fois la page chargée, PHP sera très bien.

Si vous avez besoin du compte à rebours pour vous rafraîchir lorsque la page est affichée, vous devez utiliser JavaScript.

Personnellement, j'aller pour quelque chose déjà mis en œuvre, comme que petit script .

Autres conseils

statique Compte à rebours:

//A: RECORDS TODAY'S Date And Time
$today = time();

//B: RECORDS Date And Time OF YOUR EVENT
$event = mktime(0,0,0,12,25,2006);

//C: COMPUTES THE DAYS UNTIL THE EVENT.
$countdown = round(($event - $today)/86400);

//D: DISPLAYS COUNTDOWN UNTIL EVENT
echo "$countown days until Christmas";

?>

Voici le code extrait j'ai copié des le site Web de W3Schools, tout ajouté mon code PHP pour obtenir l'horodatage « compte à rebours » et l'horodatage « maintenant ».

Vous verrez que je l'ai commenté le code JavaScript d'origine et l'a remplacé avec le code PHP en deux endroits, il est donc clair pour dire quelle est la différence entre les deux options.

En fait quand vous pensez que le « temps du serveur » est plus fiable dans votre cas, vous pouvez adopter l'approche PHP.

<!DOCTYPE HTML>
<html>

<head>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <style>
    p {
        text-align: center;
        font-size: 60px;
        margin-top: 0px;
    }
    </style>
</head>

<body>
    <p id="demo"></p>
    <script>
    // Set the date we're counting down to
    // 1. JavaScript
    // var countDownDate = new Date("Sep 5, 2018 15:37:25").getTime();
    // 2. PHP
    var countDownDate = <?php echo strtotime('Sep 5, 2018 15:37:25') ?> * 1000;
    var now = <?php echo time() ?> * 1000;

    // Update the count down every 1 second
    var x = setInterval(function() {

        // Get todays date and time
        // 1. JavaScript
        // var now = new Date().getTime();
        // 2. PHP
        now = now + 1000;

        // Find the distance between now an the count down date
        var distance = countDownDate - now;

        // Time calculations for days, hours, minutes and seconds
        var days = Math.floor(distance / (1000 * 60 * 60 * 24));
        var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
        var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
        var seconds = Math.floor((distance % (1000 * 60)) / 1000);

        // Output the result in an element with id="demo"
        document.getElementById("demo").innerHTML = days + "d " + hours + "h " +
            minutes + "m " + seconds + "s ";

        // If the count down is over, write some text 
        if (distance < 0) {
            clearInterval(x);
            document.getElementById("demo").innerHTML = "EXPIRED";
        }
    }, 1000);
    </script>
</body>

</html>

Si vous voulez quelque chose en temps réel, vous aurez besoin d'utiliser un script côté client, à savoir JavaScript.

Vous pouvez le faire en PHP, mais il ne sera pas « Animer »:

$wedding = strtotime("2011-07-01 12:00:00+0400"); // or whenever the wedding is
$secondsLeft = $wedding - time();
$days = floor($secondsLeft / 60*60*24);
$hours = floor(($secondsLeft - $days*60*60*24) / 60*60);
echo "$days days and $hours hours left";

Vous pourriez mettre un peu plus de maths pendant des mois, mais il devient plus floue, car un mois n'est pas un montant fixe de temps.

L'autre façon serait d'utiliser la fonction date() pour choisir les éléments individuels (heure, minute, seconde, jour, mois, etc.) et l'utilisation des mathématiques de roulement, mais il y a beaucoup de peine pour un «bel effet.

Laissez-moi savoir si vous voulez un exemple JavaScript. Ne vous embêtez pas avec jQuery - c'est un canon pour tuer un moustique:)

essayer cette

<?php

    $target = mktime(0, 0, 0, 9, 25, 2011) ;//set marriage date

    $today = time () ;

    $difference =($target-$today) ;

    $month =date('m',$difference) ;
    $days =date('d',$difference) ;
    $hours =date('h',$difference) ;

    print $month." month".$days." days".$hours."hours left";

    ?>

Essayer cette

$wedding = strtotime("2014-02-20 12:00:00"); // or whenever the wedding is
$current=strtotime('now');
$diffference =$wedding-$current;
$days=floor($diffference / (60*60*24));

echo "$days days left";
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top