javascript倒计时和更新数据库php

时间:2015-02-08 13:47:32

标签: javascript php jquery html mysql

我想实现一个JavaScript代码倒数百秒。我已经编写了倒计时代码,但我需要剩余时间的值,并在每秒的数据库中更新它。以下是我想要完成的一个例子:

每秒钟我想跑:

UPDATE 'table' SET 'timeleft=[remaining time]'

这可能吗?

以下是我迄今为止尝试过的内容:

<? $time = "100"; ?>

<script>
var intCountDown = <?php echo $time; ?>;

function countDown()
{
    if(intCountDown < 0)
    {
        cntdwn.innerText = 'Done';
        return;
    }

    cntdwn.innerText = intCountDown--;

    setTimeout("countDown()",1000);
}
</script>

然后只需:<div id=cntdwn></div>

此外,这可能有助于澄清我的意图:我想实现一次性定时器,但更喜欢计数器溢出回到页面刷新后开始的位置。

1 个答案:

答案 0 :(得分:0)

要做到这一点,你需要AJAX:

这是你的AJAX功能:

function loadXMLDoc(timeleft)
{
var xmlhttp;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    cntdwn.innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","update.php?timeleft="+timeleft,true);
xmlhttp.send();
}

使用上面的函数,我们可以发送一个int到update.php?timeleft =和update.php应该连接到数据库并更新你的timeleft值(我想你还是写了它)。在你的倒计时功能中只需替换这一行:

cntdwn.innerText = intCountDown--;

有了这个(因为我们将在ajax调用中更新innerText):

intCountDown--;

这一切都需要完成