javascript倒计时并更新数据库php

javascript countdown and updates database php

本文关键字:数据库 php 更新 倒计时 javascript      更新时间:2023-09-26

我想实现一个倒计时百秒的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>

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

要做到这一点,您需要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();
}

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

cntdwn.innerText = intCountDown--;

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

intCountDown--;

这些都需要完成