PHP$在$time之后运行

PHP$在$time之后运行,php,mysqli,Php,Mysqli,我需要一些东西来帮助我实现这一点: 我运行一个代码,例如:$v=2;,在我运行它之后,我希望它等待5分钟,然后运行$v=3 问题是,我希望这发生在背景中,所以睡觉;不行 请帮忙 例如PHP: if(isset($_POST['finish'])){ $eventid = mysqli_real_escape_string($con, $_POST['id']); if(mysqli_query($con, "UPDATE events SET status = '2' WHE

我需要一些东西来帮助我实现这一点:

我运行一个代码,例如:$v=2;,在我运行它之后,我希望它等待5分钟,然后运行$v=3

问题是,我希望这发生在背景中,所以睡觉;不行

请帮忙

例如PHP:

if(isset($_POST['finish'])){
    $eventid = mysqli_real_escape_string($con, $_POST['id']);

    if(mysqli_query($con, "UPDATE events SET status = '2'  WHERE id = '" . $eventid . "'")) {
        $successmsg = "Saved!";
等5分钟

        if(mysqli_query($con, "UPDATE events SET status = '3'  WHERE id = '" . $eventid . "'")) {
            $successmsg = "5 Mins Gone";
        } else {
            $errormsg = "5 Mins Error";
        }
    } else {
        $errormsg = "Error";
    }
}

PHP只有在发送操作或加载页面时才有效,因此使用PHP您无法做到这一点

您需要使用javascript或Cronjob:

Node.js是构建life程序的一个不错的选项

或者可以用C++或其他语言进行程序分离。


我希望这能有所帮助。

cron作业?使用sleep生成子进程?@Dagon更像一个计时器。当按下按钮时,等待$t时间并更新表格,您可以立即更新,但添加一个时间戳,该时间戳可以作为well@Dagon好的,假设我添加了一个时间戳。它怎么知道5分钟过去了。我的意思是,我将使用什么来检查时间戳?我假设您在某个点查询表?注意,在您的原始代码中显示了任何数据库操作,因此您的代码并没有使帮助您变得容易,但是您知道我如何使用javascript来完成它吗?它提供了多种选择,我需要知道您的计划是什么。必须安全吗?@ivorysmoker在按下按钮后,数据库中的状态列更新为1。然后我需要代码等待5分钟并将状态更新为2。这应该在后台完成。例如,如果该选项卡已关闭,则仍应在给定时间内对其进行更新。@Dragon带有Node.js和database。和php连接到同一个数据库。啊,如果你只在后台这样做,那么你不能使用javascript。对于javascript,用户需要连接到站点。然后你需要使用Cronjob。有了克朗乔,我帮不了你。或者你可以使用MySQL。您可以在此线程中找到更多信息。