Php 为我的计划制定一个条件

Php 为我的计划制定一个条件,php,Php,我需要一些关于我为吃角子老虎游戏制作的程序/脚本的帮助,我的想法是随机生成3个数字,每个数字对应一个你能赢得的奖品,奖品数量有限,因此必须检查每个代码(将作为奖品发送)以确保有库存,如果没有库存,则不会添加到抽签中 到目前为止,我让我的脚本检查代码是否有库存,如果有库存,它会将数字添加到数组中,然后通过开关和大小写进行检查 但我不知道如何设置开关和机箱,我考虑过在“pot”中添加一个设置的数字,然后与3个随机生成的数字一起使用 $number1 = rand(0,$pot); 但这样做,我必须

我需要一些关于我为吃角子老虎游戏制作的程序/脚本的帮助,我的想法是随机生成3个数字,每个数字对应一个你能赢得的奖品,奖品数量有限,因此必须检查每个代码(将作为奖品发送)以确保有库存,如果没有库存,则不会添加到抽签中

到目前为止,我让我的脚本检查代码是否有库存,如果有库存,它会将数字添加到数组中,然后通过开关和大小写进行检查

但我不知道如何设置开关和机箱,我考虑过在“pot”中添加一个设置的数字,然后与3个随机生成的数字一起使用

$number1 = rand(0,$pot);
但这样做,我必须建立一个声明,我会检查每个数字,如果它是在一定的范围内,即

if (($number1 > 150) && ($number1 < 349)){
// You win this prize
}
else if (($number 1 > 350) && ($number1 < 499)){
// You win this prize
}
else {
//You win this prize
}
这将生成当前的数字,但仅对4个变量有效,因此代码a=1的值代码b=2的值等

//SETUP VARIABLES
$num1; $num2; $num3;
//SET VARIABLE VALUES
function setup_variables(){
global $num1, $num2, $num3, $numbers;
    $num1 = $numbers[0];
    $num2 = $numbers[1];
    $num3 = $numbers[2];
    result();
}
这将数组转换为单变量,可能不是建议的方法,但如果需要,我可以更改它

function result(){
global $num1, $num2, $num3;
    if ($num1 == $num2 && $num1 == $num3){
        if ($num1 == 1){
            $_SESSION['prize'] = 1;
            header("Location: win.php");
        }
        else if ($num1 == 2){
            $_SESSION['prize'] = 2;
            header("Location: win.php");
        }
        else if ($num1 == 3){
            $_SESSION['prize'] = 3;
            header("Location: win.php");
        }
        else{
            $_SESSION['prize'] = 0;
        }
    }

    else{
        $_SESSION['prize'] = 0;
    }
}
这会检查数字是否匹配,如果匹配,则会检查$num1是哪个数字,并将其转发到可以使用
$\u会话['prize']

但正如你所看到的,它只适用于单个数字,我更希望它适用于一系列数字,这样我就可以在游戏中增加变化和机会,某些奖品比其他奖品出现得更频繁

在下一页,它只需根据通过$_SESSION['prize']提供的数据查询数据库,该数据等于数据库中的一个ItemID,并在屏幕上显示代码,然后通过电子邮件发送给获奖者

TLDR:

基本上,我想要一种基于代码是否可用(布尔数据库值)的方式来显示编写的代码。我不想显示不可用的代码,因此它们应该完全从脚本中排除,并且每种代码应该有不同的获胜机会,更有价值的代码出现的机会较低,价值较低的代码有较高的机会


基本上这是一个php版本的老虎机,但是基于当前股票的老虎机听起来像是你需要一个奖品代码数据库,所以你可以把它们标记为已经送出了?这可以有一个“从”和“to”,并在赢得时标记为“iSyWin”,这样,在不再可用之后,你就不会在那个范围内考虑“获胜”代码。我已经有了一个布尔值可用的数据库设置——1意味着它们未被使用,0意味着它们被使用,但是我需要一种计算出什么奖励的方法。例如,如果我有代码x,代码y和代码z,但我没有代码a或代码b。我需要它来计算给定的上述变量,哪些代码可以给出,更重要的是哪些代码不能给出,我将编辑我的原始帖子,以显示我目前的设置嗯,这是一个相当大的问题。首先,我将更改
result()
以不包含任何硬连接-奖品名称、代码和图像应位于数据库中,此函数将循环记录子集以确定赢得了什么(如果有)。然后,我将转到数据库化您的
if
部分(带有“You win this prize”注释)这要考虑到可获得的奖品。我可能倾向于建议您先解决这个问题,然后对您的数据库结构提出一个新问题。就目前而言,我认为这个问题可能是一个相当局部的问题!我想你可能是对的,这是一个相当局限的问题,但我已经按照你的建议做了,if语句现在只包含
$\u SESSION['prize']=1
和一个链接到“win”页面的标题,我现在正试图想出一种方法来对可用代码进行排序,并在我的算法中使用可用代码
$stock=$conn->query('从可用代码中选择DISTINCT ItemID=1')
选择可用的ItemID,我需要找到一种方法来使用这些数据选择奖品
function result(){
global $num1, $num2, $num3;
    if ($num1 == $num2 && $num1 == $num3){
        if ($num1 == 1){
            $_SESSION['prize'] = 1;
            header("Location: win.php");
        }
        else if ($num1 == 2){
            $_SESSION['prize'] = 2;
            header("Location: win.php");
        }
        else if ($num1 == 3){
            $_SESSION['prize'] = 3;
            header("Location: win.php");
        }
        else{
            $_SESSION['prize'] = 0;
        }
    }

    else{
        $_SESSION['prize'] = 0;
    }
}