所以我有一个倒计时到 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>
感谢您对网站的热烈欢迎。
使用 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);
});