代码之家  ›  专栏  ›  技术社区  ›  Sam Johannes Rudolph

30秒后,更新mysql数据库

  •  1
  • Sam Johannes Rudolph  · 技术社区  · 14 年前

    我一直在到处找所以和谷歌,但我找不到任何符合我的描述。

    我要做的是,如果页面在30秒后没有刷新,那么更新数据库。如果一个人在过去30秒内没有访问过页面(我可以这样做),我想给他发邮件,告诉他另一个用户提交的表单的内容。

    我试图做的是让应该访问的页面每30秒刷新一次,所以我想如果我在31秒后做了类似的事情,请编辑数据库(因此如果刷新的页面没有刷新,则数据库编辑将运行)。

    很抱歉,如果这听起来很复杂,可能有更好的方法,但我不知道怎么做。

    更重要的一点是,我正在尝试做一种“值班”的事情,这样如果这个人不积极地看网页,他们就会收到电子邮件,无论表单的内容是什么。页面将包含所有输入表单结果的表。

    4 回复  |  直到 13 年前
        1
  •  4
  •   small_duck    14 年前

    您可以通过在每次用户刷新页面时创建带有时间戳的记录来更新数据库。然后,如果时间戳早于30秒,您可以让一个php工作者在数据库中正常地查看,并启动电子邮件。

        2
  •  1
  •   dzida    14 年前

    我不能为作业的服务器端部分提供PHP解决方案。但基本上,您需要设置javascript计时器(例如jquery timeout),30秒后执行Ajax调用,该调用将在服务器上执行您想要的操作(将某些内容保存到数据库,发送电子邮件等)。

    我希望我明白你的意思,我的建议会对你有所帮助。

        3
  •  0
  •   Lizard    14 年前

    可能每30秒使用一次Ajax调用, setTimeout javascript函数?

    http://www.w3schools.com/js/js_timing.asp

    function timedCount()
    {
        # ajax call
        t=setTimeout("timedCount()",30000);
    }
    
        4
  •  0
  •   Starx    14 年前

    我建议使用这样的javascript:
    window.setTimeout("location.reload(true);", 3000);

    当然,如果您非常需要重新加载,但是用户显然会为他重新加载窗口而生气。