如何运行1个完整的循环循环,而不是刷新页面,然后检查if(),如果满足条件,请再次运行1个循环循环

时间:2019-05-30 10:25:04

标签: javascript php for-loop

我想要的是在用户单击网页上的特定按钮之后,我将使用if(isset())进行检查,而不是运行以下建议循环。

这是我到目前为止所做的。如果$ balance为10,则for循环应运行10次。 For循环可立即运行10次,而无需刷新页面,但是sleep()函数有助于延迟它。我需要每完成1个循环刷新一次页面,然后再继续其余9个循环。每个循环都需要在每次运行时刷新页面。

$balance = '10';
$wallet = $_SESSION['wallet'];

if(isset($_POST['click'])){
    if($balance != 0){
        for($x = 0; $x < $balance; $x++){
            $sql = $conn->query("UPDATE wallets SET balance = balance - 1 WHERE wallet = '$wallet' " );
            //some code to complete this 
            ....
            //this is where the page to refresh
            header("location: click.php?e=2");
        }
        sleep(5);
    }
    else{
        header("location: click.php?e=1");
    }
}

我期望的是...。 1循环比刷新页面1的时间要长,比1循环比刷新页面1的时间还长。

1 个答案:

答案 0 :(得分:0)

您不需要任何循环,它的递减值就可以使用。

$balance = ($_SESSION['balance'] ?? 0);
$wallet  = $_SESSION['wallet'];
if (isset($_POST['click'])) {
    if ($balance > 0) {
        // for ($x = 0; $x < $balance; $x++) {
        $sql                = $conn->query("UPDATE wallets SET balance = balance - 1 WHERE wallet = '$wallet' ");
        $_SESSION['wallet'] = intval($_SESSION['wallet']) - 1;
        $_SESSION['balance'] = $_SESSION['balance']-1;
        //some code to complete this
        //....
        //this is where the page to refresh
        header("location: click.php?e=2");
        // }
        sleep(5);
    } else {
        header("location: click.php?e=1");
    }
}