2015-02-08 39 views
0

我想實現一個JavaScript代碼來倒計數百秒。我已經編寫了倒計時代碼,但我需要剩餘時間的值,並在每秒鐘將其更新到數據庫中。下面是我想達到什麼樣的例子:javascript倒計時和更新數據庫php

每月的第二個我想運行:

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>

此外,這可能有助於澄清我的意思:我想要實現單次計時器,但更喜歡櫃檯在刷新頁面後溢出回到它開始的位置。

+0

旁註:你會在你的查詢中需要一個'where'子句,否則所有的行都會更新爲該值。 – 2015-02-08 13:49:03

+0

你能舉個例子嗎?我很新的JavaScript ..:/謝謝 – 2015-02-08 13:49:39

+0

我編輯了你的問題描述,並試圖澄清你的目的。這是你想問什麼? – Barracuda 2015-02-08 14:23:13

回答

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 =和更新? PHP應該連接到數據庫,並更新您的timeleft值(我認爲你寫了它)。在您的倒計時功能只需更換這行:

cntdwn.innerText = intCountDown--; 

這個(因爲我們將在Ajax調用更新的innerText):

intCountDown--; 

這一切需要做