Xwab
Форумыnavigate_nextПрограммирование на PHP

Отсчет времени - таймер (помогите)
Сообщения
WaRNeR

Добрый вечер. Вот столкнулся с такой проблемой, и не знаю как ее реализовать, вообщем надо допустим я нажал ссылку "Go" запускается таймер - отсчет времени к примеру 300сек, по истечению этих 300сек выполняется SQL запрос, как такое замутить? кто чем может помоч надо ппц как)

17 Июл 2011, 18:59
ma3uk

Скорее всего это на js. И будет работать не везде.

17 Июл 2011, 19:07
WaRNeR

А если так сделать, записываем текущее время в SQL и записываем в SQL время с +300сек и сравниваем, как время совпало или более, то выполняем SQL запрос, так реально? если да то киньте пример как такое сделать)

17 Июл 2011, 19:12
ma3uk

Чтобы сравнивать тогда надо будет обновлять страницу.

17 Июл 2011, 19:18
Sandr

WaRNeR, как сказано во 2м посте такое на js можно сделать.

17 Июл 2011, 19:23
WaRNeR

ma3uk, ну и нормально, как сделать хотя бы так? с js даже связыватся не хочу

17 Июл 2011, 19:28
GraF

загугливаешь функцию для отправки запроса ajax, и включаешь его в SetTimeout. По истечении заданного времени будет выполнен скрипт с sql запросом. Я в яваскрипт не очень, так что ждем специалистов
добавлено спустя 24 секунды:
WaRNeR, без яваскрипта нельзя

17 Июл 2011, 20:25
WaRNeR

Все разобрался вроде бы, вдруг кому пригодится:
Записываем будущее время +30сек
---
$time=time();
$a=$time+30;
mysql_query("INSERT INTO time SET time='$a'");
---
Далее проверяем:
$time=time();
$sql = mysql_query("SELECT * FROM time");
$timer = mysql_fetch_array($sql);
$times = $timer['time'];
if($time>=$times){
mysql_query("UPDATE users SET test='1' WHERE login='$login'");
}else{
echo "еще не прошло!";
}
---
Если совпадает или уже больше выполняется SQL запрос) усе.
Может быть не доработано но хоть что то
добавлено спустя 3 минуты:
На js я уже знаю как отсчет делать но я не могу совмещать js + php, не когда не пробовал и не начинаю пока что.
---
Пример:
<script type="text/javascript">
function timer(){
var obj=document.getElementById('timer_inp');
obj.innerHTML--;
if(obj.innerHTML==0){ window.location.href = "index.php"
setTimeout(function(){},1000);}
else{setTimeout(timer,1000);}
}
setTimeout(timer,1000);
</script>
До завершения:
<div id="timer_inp">10</div>
---
Идет отсчет 10сек и переадресация на index.php))

17 Июл 2011, 20:41
Ответить на тему