指定时间后如何运行代码?

问题描述

| 我有一个大问题: 用户登录,然后会话打开。 之后,他单击按钮(以表单形式),该按钮的操作为\“ example.PHP \”。 这个example.PHP应该使MysqL数据库中的一条记录增加1。 如何写这个“ example.PHP”? 请帮忙。 编辑: 抱歉,我没有问过我应该问什么。 主要问题: 用户单击按钮后,example.PHP脚本应在指定的时间(例如600秒)后执行。 另一个问题是用户可以单击按钮并注销,尽管如此,example.PHP应该在600秒后执行。 编辑(18:48): 好的,我已经阅读了您的所有建议,但是对如何使所有这些东西协同工作一无所知。 我输入了type = \“ submit \”和action = \“ example.PHP \”,制作了一个form.PHP。 我想要:  1.启动一个JavaScript计时器;  2.在一段时间后,在变量的前面指定的时间里增加数据库中的值。 请,如果有可能,请给我举一个例子。     

解决方法

在“ 0”中执行SQL:
UPDATE table SET field = field + 1;
您需要更多信息吗? 编辑: 我认为没有其他方法可以像工作机制一样。用户调用“ 0”时,会将当前时间戳+ 600秒的新作业添加到数据库中。 同时应该运行一些作业执行程序,该作业执行程序将从数据库中收集所有时间戳设置为“ 3”的作业。 如果它会记录,请调用指定的代码段,并删除/标记为完成该作业。     ,您可以使用sleep延迟执行代码 例:
<?php
    echo \'Script Start: \'.date(\'h:i:s\') . \'<br>\';
    sleep(5);  // delay in seconds (here 5)
    echo \'Script Ende: \'.date(\'h:i:s\') . \'<br>\';
?>
我不知道您尝试做的事是否完全合理,但您的5英镑看起来像:
<?php
    sleep(600);  // delay in seconds
    // the code to be executed delayed here
?>
    ,
<?php
if( isset($_POST[\'submit_button\']) ) {

    $link = mysql_connect(\'localhost\',\'mysql_user\',\'mysql_password\');

    $sql = \'UPDATE table SET counter_column = counter_column + 1\'; // WHERE table_name_id =\' . intval($id);
    mysql_query($sql,$link);
}
?>
仅在单击submit_button的情况下,此example.php才会更新值,而仅在URL example.php中键入则不会更新该值。     ,您可以通过多种方式执行此操作... 如前所述,有睡眠方法。 您可能有一份工作-即在工作清单中添加一些内容,并定期进行cronjob检查,看看是否到期。 您可以使用JavaScript计时器在x秒后执行。