0

我需要创建一个循环来一遍又一遍地重做我的查询,直到它在数据库中发布一些内容。

if ($query_run = mysql_query($query)) {
    while ($row = mysql_fetch_assoc($query_run)) {
        $person = $row['firstname'];
        $taken = $row['taken'];

        if (isset($_COOKIE[$firstname])) {
            echo "You've already drawn " . $_COOKIE[$firstname] . "!";
        } else {
            if (($person == ucfirst($firstname)) || ($taken == 1)) {
                echo 'Redraw';
            } else {
                echo ucfirst($firstname) . " drew $person!";
                setcookie($firstname, $person, time() + 30);
            }
        }
    }
} else {
    echo 'Query Failed';
}

而不是 echo 'Redraw'; 我需要它再次自动运行循环,因为一旦他们单击按钮,该按钮就会被禁用。

我正在考虑做一会儿,但我无法让它正常工作。

4

1 回答 1

0

可以这样完成:

while (true) {
    if ($query_run = mysql_query($query)) {
        while ($row = mysql_fetch_assoc($query_run)) {
            $person = $row['firstname'];
            $taken = $row['taken'];

            if (isset($_COOKIE[$firstname])) {
                echo "You've already drawn " . $_COOKIE[$firstname] . "!";
                break;
            } else {
                if (($person == ucfirst($firstname)) || ($taken == 1)) {
                    // loop will continue
                } else {
                    echo ucfirst($firstname) . " drew $person!";
                    setcookie($firstname, $person, time() + 30);
                    break;
                }
            }
        }
    } else {
        echo 'Query Failed';
        break;
    }

}

但我不确定它应该做什么。很可能您的意思有所不同。

于 2012-12-11T07:08:27.863 回答