php跟踪随机条件

php跟踪随机条件,php,mysql,random,Php,Mysql,Random,目前,我有3个条件需要在3页上随机满足一次。因此,如果第一页随机获得第二个条件,第二页只能随机获得条件1或3,依此类推。为此,我写一个数据库(我已经使用一个数据库来记录活动),并在其他页面上调用它,以查看在以前的页面上已经满足了哪些条件 我为第一页创建了一个随机函数: 第二页: if ($row['manip_1'] == 1){ $man = rand(2,3); } elseif ($row['manip_1'] == 2){ //should do r

目前,我有3个条件需要在3页上随机满足一次。因此,如果第一页随机获得第二个条件,第二页只能随机获得条件1或3,依此类推。为此,我写一个数据库(我已经使用一个数据库来记录活动),并在其他页面上调用它,以查看在以前的页面上已经满足了哪些条件

我为第一页创建了一个随机函数:

第二页:

    if ($row['manip_1'] == 1){
        $man = rand(2,3);
    } elseif ($row['manip_1'] == 2){    //should do randomly 1 or 3,
        $man_a = rand(1,2);         //but don't know how to skip #2 in a 
            if($man_a == 2){    //random function, so solved it like this
                $man = 3;
            } else {
                $man = 1;
            }
    } else {
        $man = rand(1,2);
    }
第三页:

    if ($row['manip_1'] == 1 && $row['manip_2'] == 2){
        $man = 3;
    } elseif ($row['manip_1'] == 1 && $row['manip_2'] == 3){
        $man = 2;
    } elseif ($row['manip_1'] == 2 && $row['manip_2'] == 1){
        $man = 3;
    } elseif ($row['manip_1'] == 2 && $row['manip_2'] == 3){
        $man = 1;
    } elseif ($row['manip_1'] == 3 && $row['manip_2'] == 1){
        $man = 2;
    } else {
        $man = 1;
    }

现在的问题是,我突然需要有第四页。这意味着还有第四个条件。这也意味着最后一页上的可能性现在是25个。我可以像以前一样再次编程,但我想知道是否有更方便的方法来编程一个随机条件,它取决于前几页的条件。在4个页面中,每个条件只能显示一次。

定义一个条件数组,并将其存储在会话中,例如

$conditions = array(1,2,3,4);
$_SESSION['conditions'] = $conditions;
随机化很容易:

array_shuffle($_SESSION['conditions']);
然后在每个单独的页面上,您只需从会话中弹出其中一个值:

<?php
# page 1
session_start();

$random_condition = array_pop($_SESSION['conditions']);

谢谢!一个问题:我是否需要在每页弹出后更新会话变量?嗯……我想我也可以洗牌一次,然后在每页上调用数组中的固定位置。我不知道我为什么这么难思考。谢谢
<?php
#page n
session_start();
$random_condition = array_pop($_SESSION['conditions']);