Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.02.2018, 19:43
Новичок на форуме
Отправить личное сообщение для Stunnets Посмотреть профиль Найти все сообщения от Stunnets
 
Регистрация: 18.02.2018
Сообщений: 1

Таймер обратного отсчета с временем из БД
Здравствуйте делаю счетчик обратного отсчета , суть счетчика заключается в том чтобы отсчитывать ровно 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. Выполнить запись в БД и отсчитывать опять час. (смысл, каждый час по счетчику заносятся данные в БД ) Но чтоб этот счетчик был виден на сайте всем пользователям. Может есть простое решение без костылей которые я тут понаписал? Подскажите хоть куда копать, толком на гуглить ничего не смог ))
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Таймер обратного отсчета. Davias Events/DOM/Window 8 31.05.2017 02:56
Индивидуальный таймер обратного отсчета времени с редиректом pozitiv4ek Работа 2 11.12.2016 13:42
Зацикленный таймер обратного отсчета levshaszr Элементы интерфейса 6 12.10.2014 23:20
таймер обратного отсчета yintar jQuery 6 03.09.2014 11:16
Таймер обратного отсчета UNIX time TuxShot Общие вопросы Javascript 6 03.08.2014 13:36