你有SQL或PHP的定时器吗?
所以我找到了一些选择,但它们并不合适。我目前正在制作一个使用SQL server的PHP浏览器游戏 我正在试图找出一种方法,当按下按钮时,300秒后一个SQL单元格应该更新,而在300秒期间,它会显示在屏幕上。不必倒计时,即使是剩下的你有SQL或PHP的定时器吗?,php,html,sql,Php,Html,Sql,所以我找到了一些选择,但它们并不合适。我目前正在制作一个使用SQL server的PHP浏览器游戏 我正在试图找出一种方法,当按下按钮时,300秒后一个SQL单元格应该更新,而在300秒期间,它会显示在屏幕上。不必倒计时,即使是剩下的 找出一种方法来完成这300秒,并在刷新时显示出来,这是我遇到的问题。不,它实际上并不存在,不是在“标准”代码中。不过,您可以通过其他方式进行: 单击“更新数据库”,将egtimerReady设置为NOW()+300秒 在刷新/重新加载/cron/时,无论您检查是否
找出一种方法来完成这300秒,并在刷新时显示出来,这是我遇到的问题。不,它实际上并不存在,不是在“标准”代码中。不过,您可以通过其他方式进行: 单击“更新数据库”,将eg
timerReady
设置为NOW()+300秒
在刷新/重新加载/cron/时,无论您检查是否timerReady
,您都知道300秒已经过去了。否则,timerReady-NOW()
为剩余秒数
当按下按钮时,让javascript等待300秒(我建议使用计时器/指示器),然后重新加载。当用户同时重新加载时,您可以使用timerReady-NOW()
技巧来决定用户必须等待多长时间
您可以仅使用Javascript执行此操作,但如果您不将其存储在数据库中,当用户刷新时,他们必须重新开始,因为您无法验证任何内容。如果用户关闭应用程序的浏览器选项卡时,您可以避免可能出现的潜在问题,您最好的选择是使用JavaScript代码段:
// 1. prepare timeout
setTimeout(on_timeout_fn, 300000);
这段代码的作用是,在300秒后,它将调用on\u timeout\u fn
函数
on\u fn
。您应该将其定义为以下内容:
let on_timeout_fn = function() {
// 2. run an ajax call to execute a PHP script that will update the database
// if you're using something like JQuery, it should be as easy as:
$.post("update_db.php", "data_to_send", function() {
// 3. when ajax call ends, make sure the button dissapears
$("#yourButtonID").toggle();
}, "text");
}
您必须使用JavaScript和PHP来实现这一点。您还可以使用JQuery来实现此功能。在Javascript中,您可以通过点击它的查询选择器抓住按钮,无论它是类还是id,然后您可以设置一个计时器,在300秒之前它不会执行代码,然后它运行代码,通过AJAX将值发送到后端,获取您喜欢的任何内容。然后继续使用PHP和MYSQL更新数据。也许触发器可以帮助您解决这个问题:您通常会使用Javascript和AJAX执行类似的操作。Javascript确实有。