Здравствуйте делаю счетчик обратного отсчета , суть счетчика заключается в том чтобы отсчитывать ровно 1 час и выполнять определенное действие. время лежит в БД и берется запросом. Вот код подсчета времени:
<?
$email = $_SESSION['username'];
$vremya = mysqli_fetch_array(mysqli_query($db, "select * from time where id = '1'"));
$wait = mysqli_fetch_array(mysqli_query($db, "select * from settings where `set` = 'wait'"));
$timech = time(); // время сейчас в сайтстамп
$tmm = $timech - $vremya['time']; // время сейчас - время до срабатывания = прошедшее время
$rtt = $wait['value'] - $tmm; // время до срабатывания
echo date('i:s',$rtt);
?>
echo все выводит правильно, помогите прикрутить это время на JS вот код счетчика ни как не могу их свести вместе. Если беру время из базы постоянно пишет что время вышло и счетчик по нулям
function countDown(second,endMinute,endHour,endDay,endMonth,endYear) {
var now = new Date();
second = (arguments.length == 1) ? second + now.getSeconds() : second;
endYear = typeof(endYear) != 'undefined' ? endYear : now.getFullYear();
endMonth = endMonth ? endMonth - 1 : now.getMonth(); //номер месяца начинается с 0
endDay = typeof(endDay) != 'undefined' ? endDay : now.getDate();
endHour = typeof(endHour) != 'undefined' ? endHour : now.getHours();
endMinute = typeof(endMinute) != 'undefined' ? endMinute : now.getMinutes();
//добавляем секунду к конечной дате (таймер показывает время уже спустя 1с.)
var endDate = new Date(endYear,endMonth,endDay,endHour,endMinute,second+1);
var interval = setInterval(function() { //запускаем таймер с интервалом 1 секунду
var time = endDate.getTime() - now.getTime();
if (time < 0) { //если конечная дата меньше текущей
clearInterval(interval);
alert("Неверная дата!");
} else {
var days = Math.floor(time / 864e5);
var hours = Math.floor(time / 36e5) % 24;
var minutes = Math.floor(time / 6e4) % 60;
var seconds = Math.floor(time / 1e3) % 60;
var digit='<div style="width:70px;float:left;text-align:center">'+
'<div style="font-family:Stencil;font-size:65px;">';
var text='</div><div>'
var end='</div></div><div style="float:left;font-size:45px;">:</div>'
document.getElementById('mytimer').innerHTML = '<div>осталось до выбора: </div>'+
digit+minutes+text+'Минут'+end+digit+seconds+text+'Секунд';
if (!seconds && !minutes && !days && !hours) {
clearInterval(interval);
alert("Время вышло!");
}
}
now.setSeconds(now.getSeconds() + 1); //увеличиваем текущее время на 1 секунду
}, 1000);
}
countDown(3600); //устанавливаем таймер на 3600 секунд
Может есть какие нибудь другие варианты выполнения этой задачи, основная задача счетчика: 1.отсчитать ровно час.( от любого времени главное что час отсчитывал) 2. Выполнить запись в БД и отсчитывать опять час. (смысл, каждый час по счетчику заносятся данные в БД ) Но чтоб этот счетчик был виден на сайте всем пользователям. Может есть простое решение без костылей которые я тут понаписал? Подскажите хоть куда копать, толком на гуглить ничего не смог ))