Mysql
 sql >> база данни >  >> RDS >> Mysql

Таймер за обратно отброяване-php+mysql+js

Преди да стартирате теста, трябва да изчислите точния край на теста от страната на сървъра и да го запишете в сесия:

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

След това, ако го предоставите на вашия клиентски скрипт от HTML:

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

Добавете този код към вашия jQuery DOM-готов манипулатор, за да стартирате всички таймери на страница:

$('.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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да вмъкнете няколко реда в една SQL заявка – въпрос за интервю на седмицата #069

  2. JSON_PRETTY() – Форматирайте JSON документи за по-лесна четливост в MySQL

  3. Защо ключовата дума MYSQL IN не отчита NULL стойности

  4. Java Android AsyncTask + mysql връзка

  5. php четене на mysql битово поле, връщащо странен символ