sql >> Database teknologi >  >> RDS >> Mysql

Nedtællingstimer-php+mysql+js

Før du kører testen, skal du beregne den nøjagtige testsluttid på serversiden og gemme den i sessionen:

<?php
if (empty($_SESSION['test_will_end_by'])) {
    $_SESSION['test_will_end_by'] = time() + $test_duration_in_seconds;
}
?>

Så, hvis du giver det til dit klientsidescript fra HTML:

Time left:
<span class="timer" data-end="<?php 
    echo date(DateTime::RFC1123, $_SESSION['test_will_end_by']); 
?>"></span>

Tilføj denne kode til din jQuery DOM-klare handler for at starte alle timere på en side:

$('.timer').each(function() {
    var target = new Date($(this).data('end')), update, $this = $(this);
    (update = function () {
        var now = new Date();
        $this.text((new Date(target - now)).toUTCString().split(' ')[4]);
        if (Math.floor((target - now)/1000) == 0) return; // timer stops
        setTimeout(update, 1000);
    })();
});


  1. Sådan gendannes tilliden til en fremmednøglebegrænsning i SQL Server (T-SQL-eksempler)

  2. Effektiv overvågning af MySQL med SCUMM Dashboards:Første del

  3. Indsæt data i en MySQL-database

  4. Hvordan skriver man en trigger for at afbryde sletning i MYSQL?