Обновить БД обратного отсчета JavaScript и обновить

может кто-нибудь, пожалуйста, помогите мне с обратным отсчетом js/ajax, я хочу, чтобы таймер обратного отсчета был равен 10 секундам, затем обновите базу данных и обновите страницу, как только он достигнет 0.

я не очень хорошо разбираюсь в javascript/ajax, вот что я получил до сих пор:

var ss = 10;
function countdown() {
ss = ss-1;
if (ss<0) {
var url='update.php?countdown='+countdown;
}
else {
document.getElementById("countdown").innerHTML=ss;
window.setTimeout("countdown()", 1000);
}
}

<span id="countdown" style="color:green;">10</span>

и файл update.php, ведьма отлично работает:

if (isset($_REQUEST['countdown'])) {     
  mysql_query("INSERT INTO num (id, ad, active) 
  VALUES ('1', 'Test',1)") or die(mysql_error());
  }

а также это то, что я нашел http://pastebin.com/Qwz3Zqtt, работает нормально, но я не знаю как их собрать.

любая помощь будет оценена по достоинству.

Спасибо


person i99ks    schedule 05.06.2013    source источник
comment
Вы хотите, чтобы таймер охлаждения работал на экране, и когда время истекло, чтобы выполнить запрос sql?   -  person Neta Meta    schedule 05.06.2013
comment
да, например, простой обратный отсчет от 10 до 0 секунд после завершения таймера, выполните sql или используйте var url='update.php?countdown='+countdown; , как здесь pastebin.com/Qwz3Zqtt в строке 184.   -  person i99ks    schedule 05.06.2013
comment
Что должно быть в переменной обратного отсчета? И вы хотите обновить страницу ПОСЛЕ обновления базы данных? Кстати, хороший и простой обратный отсчет: electrictoolbox.com/using-settimeout-javascript - вам просто нужно использовать ‹body onload=countdown_init()› вместо кнопок   -  person sinisake    schedule 05.06.2013


Ответы (2)


Вы захотите изучить базовый ajax для обработки запроса к базе данных. jQuery имеет очень простая в использовании реализация.

Базовый код может быть примерно таким:

<script>
function updateTimer(seconds){
    var countdown = document.getElementById('countdown');
    countdown.innerHTML = "Please wait " + seconds + " seconds.";
}

var timer = function() {
    var seconds = 10;
    var interval = setInterval(function(){
        if (seconds <= 0){
            countdown.innerHTML = "Finished.. Updating Database";
            // AJAX request here
            clearInterval(interval);
        }else{
            updateTimer(seconds);            
            --seconds;
        }
    }, 1000);
    updateTimer(seconds);    
    --seconds;
}

document.getElementById('start').addEventListener('click', timer);
</script>

<div id="countdown"></div>
<button id="start">Click Me</button>

Вот скрипка

person Mahdi.Montgomery    schedule 05.06.2013

Используйте jQuery ajax

Самый простой пример:

if (ss<0) {
    $.ajax('update.php?countdown='+countdown);
}
person furas    schedule 05.06.2013