所以我有一个倒数到0的计数器,所以当它达到0时,我希望它做一次pdo更新。问题是if
语句允许在每次页面刷新时进行更新,并且不等待计数达到0。
我查看了代码,无法看到我出错的地方。
<?php $timer = '20'; ?>
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 type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
// Check if the page has loaded completely
$(document).ready( function() {
setTimeout( function() {
$('#some_id').load('parser.php');
}, 10000);
});
</script>
感谢他对网站的热烈欢迎。
答案 0 :(得分:1)
使用jQuery尝试以下内容:
$(document).ready(function() {
var counter = 20;
setInterval(function() {
if( counter == 0 ) {
$.post("url/to/php");
}
else {
$("#div_for_showing_counter").html(counter);
counter--;
}
}, 1000);
});
这样您就可以将客户端与服务器端分开。你可以在php文件中做任何你想做的事情。如果你需要回调或者需要将数据传递给php文件,那么只需将$ .post修改为如下:
$.post("url/to/php", { "key1": "value1", "key2": "value2" }, function(data) {
alert(data);
});