0

我在这里有一个问题:我正在创建一个涉及规划的项目。用户计划特定时间的特定程序并使用 PHP 提交到数据库 MySQL。

我希望系统在计划的时间已到或几分钟后发出警报。

就像是

if ($selectedDate==CURDATE() $$ selectedTime==CURTIME()){
  // some ajax to provide popup
}

我会感谢有用的帮助。谢谢你。

4

3 回答 3

1

您将需要创建一个全局变量来存储您的事件列表,不确定您要使用什么类型。您将从 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
}
于 2012-04-13T16:28:34.173 回答
0

您可以尝试运行重复的 ajax 调用(使用 javascript setTimeout)并在第二页上运行数据库查询以检索其存储的“计划时间”并针对当前时间进行测试。如果它正在接近(例如 2 分钟或某事),那么您的 ajax 调用将返回一个警告。

于 2012-04-13T16:18:56.017 回答
0

使用javascript的setInterval函数检查时间是否更近。例子:

setInterval(function() {
    // ajax request and alert action goes here
}, 1000);

上面示例中的 ajax 检查将每 1 秒(1000 毫秒)执行一次。您可以随意更改间隔,例如 5000(5 秒)。

于 2012-04-13T16:19:23.570 回答