加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – 根据MySQL数据库中的库存随机生成数字

发布时间:2021-08-28 03:48:03 所属栏目:大数据 来源: https://www.jb51.cc
导读:嗨,大家好我需要一些帮助,我在PHP制作的剧本,目前它被设置为一个老虎机游戏,用户可以支付一点钱,生成3个随机数,每个数字链接到他们可以奖赢得.比赛3并赢得所述奖品. 不幸的是,因为我不会总是将每件商品作为奖品赠送给我,我需要一种方法来检查每个数字,并确保

嗨,大家好我需要一些帮助,我在PHP制作的剧本,目前它被设置为一个老虎机游戏,用户可以支付一点钱,生成3个随机数,每个数字链接到他们可以奖赢得.比赛3并赢得所述奖品.

不幸的是,因为我不会总是将每件商品作为奖品赠送给我,我需要一种方法来检查每个数字,并确保它有库存

$stock = $conn – > query(‘SELECT DISTINCT ItemID FROM codes WHERE Available = 1’);

如果有库存,请将其添加到算法中,该算法将随机选取3个数字

目前我有这样的设置

function generate_numbers(){
global $numbers;
$numbers = array(
'0' => rand(1,2),
'1' => rand(1,2),
'2' => rand(1,2)
);
display_numbers();
}

根据两个变量生成数字,每个数字链接到一个奖品,显然它没有考虑哪些数量有库存,这将导致我发放我没有的奖品,并且它不允许有优势

我需要一种简单的方法来检查一个物品是否有库存,如果它是库存的,它会被添加到一个可以赢得的奖品列表中,我需要它有一个优势,所以一些奖品会出现(很多)比其他基于代码X的简单值的其他人有0.25%的出现机会,而且Y有50%的机会出现.

如果我用更大范围的数字进行设置……

function generate_numbers(){
global $numbers;
$numbers = array(
'0' => rand(1,100),
'1' => rand(1,100),
'2' => rand(1,100)
);
display_numbers(); }
if (($numbers[0] > 0) && ($numbers[0] < 40)){
echo "you win prize x";
else if (($numbers[0] > 40) && ($number[0] < 50)){
echo "you win prize y";
else {
echo "you win prize z";
}

…我仍然要么给出我没有的奖品 – 或者我可以添加一个嵌入式if else来检查代码是否有库存,如果它是给出的,如果它不是没有给予奖品或给予默认奖品.

但是这意味着我的股票代码越多,他们被给予的机会就越大,我不想这样做我真的希望它与预定义的赔率完全公平.

所以希望所有这些都是有道理的,这不是一个过于复杂的问题,但我认为这是一个不寻常的问题

感谢阅读,我期待听到你的想法

卢克

解决方法:

扫描您的问题,我认为您需要更改您的查询

$stock = $conn -> query('SELECT DISTINCT ItemID FROM codes WHERE Available = 1 ORDER BY RAND()');

用这个你挑选前3个,你有3个随机奖品,

这是一个快速的解决方案.有机会让它更复杂让我想一想……

编辑

经过一些测试,我想我得到了它,

你需要在顶部增加一个列的机会,这将是一个数字,然后出现该记录的机会是N,

代码所在的额外内容:

0 = FLOOR(RAND()*机会)

所以最终的代码是

$stock = $conn ->query(
    'SELECT DISTINCT ItemID FROM codes WHERE Available = 1 AND 0 = FLOOR(RAND()*chance) ORDER BY RAND()'
);

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读