-1
所以我有倒數計時器。計時器達到0後,我需要它來更新數據庫,然後刷新頁面。在jquery裏面刷新頁面
這是我到目前爲止的定時器/更新數據庫。
<script>
window.onload = function(){
(function(){
var counter = <?php echo $timer ; ?>;
setInterval(function() {
counter--;
if (counter >= 0) {
span = document.getElementById("count");
span.innerHTML = counter;
}
// Display 'counter' wherever you want to display it.
if (counter === 0) {
document.getElementById("response").innerHTML = "<div style=\"float: right; display: inline-block; margin: 6px;\"><div class=\"skip_btn\"><?php $sqll = "UPDATE users SET coins=coins+? WHERE username=?";
$q = $db->prepare($sqll);
$q->execute(array('1',$_SESSION['username']));$sqll2 = "UPDATE websites SET clicks_left=clicks_left-? WHERE id=?";
$q2 = $db->prepare($sqll2);
$q2->execute(array('1',$row['id']));?></div></div><div style=\"clear:both;\"></div>";
}
}, 1000);
})();
}
</script>
所以這工作正常定時器和數據庫更新,但現在我需要在那裏,我嘗試側添加更新和做像這樣。
document.getElementById("response").innerHTML = "<div style=\"float: right; display: inline-block; margin: 6px;\"><div class=\"skip_btn\"><?php $sqll = "UPDATE users SET coins=coins+? WHERE username=?";
$q = $db->prepare($sqll);
$q->execute(array('1',$_SESSION['username']));$sqll2 = "UPDATE websites SET clicks_left=clicks_left-? WHERE id=?";
$q2 = $db->prepare($sqll2);
$q2->execute(array('1',$row['id']));echo'<META HTTP-EQUIV="Refresh" Content="0; URL=dashboard.php">';?></div></div><div style=\"clear:both;\"></div>";
但隨後的計時器停止所有一起工作.... 也PHP頭不我的服務器上運行(頭都準備好發送錯誤) 我需要它,所以當計時器命中0將刷新頁。
我可以問爲什麼PHP的作品呢?沒有重定向?如果它不能工作? –
對不起,由於格式不太清楚,我最初並沒有在'script'中看到開始和結束PHP標籤。這是有效的,唯一的問題是它發生在客戶端呈現頁面之前。此時數據庫調用的結果從客戶端角度來看是靜態的。該函數將每次循環時將innerHTML值設置爲相同的值。您仍需要對服務器腳本進行AJAX調用才能從數據庫獲取任何更新的信息。 –