我在这里有一个问题:我正在创建一个涉及规划的项目。用户计划特定时间的特定程序并使用 PHP 提交到数据库 MySQL。
我希望系统在计划的时间已到或几分钟后发出警报。
就像是
if ($selectedDate==CURDATE() $$ selectedTime==CURTIME()){
// some ajax to provide popup
}
我会感谢有用的帮助。谢谢你。
您将需要创建一个全局变量来存储您的事件列表,不确定您要使用什么类型。您将从 ajax 调用中填充变量(因此您可以在应用程序的每个页面上执行此操作),然后遍历事件以提示用户。
在页面加载时,您将希望从数据库中获取事件。
$(function()
{
retrieveEvents();
promptEvents();
});
创建一个可以调用以获取事件的函数,并将它们存储到全局变量中。
function retrieveEvents()
{
// Make ajax call to get all events
// Wait 1 minute, calls the function again to get new events
setTimeout( "retrieveEvents()" , 60000 ); //60000 = 1 minute
}
然后,您将需要一个函数来提示事件
function promptEvents()
{
// At this point you will iterate the global variable of events
// You can check if the event is 2 minutes away, or 5 seconds away
// In those cases, you would then show a modal or alert box.
// Wait 5 seconds, call this method again
setTimeout( "promptEvents()" , 5000 ); //5000 = 5 seconds
}
您可以尝试运行重复的 ajax 调用(使用 javascript setTimeout)并在第二页上运行数据库查询以检索其存储的“计划时间”并针对当前时间进行测试。如果它正在接近(例如 2 分钟或某事),那么您的 ajax 调用将返回一个警告。
使用javascript的setInterval
函数检查时间是否更近。例子:
setInterval(function() {
// ajax request and alert action goes here
}, 1000);
上面示例中的 ajax 检查将每 1 秒(1000 毫秒)执行一次。您可以随意更改间隔,例如 5000(5 秒)。