脚本宝典收集整理的这篇文章主要介绍了php – 根据MySQL数据库中的库存随机生成数字,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
不幸的是,因为我不会总是将每件商品作为奖品赠送给我,我需要一种方法来检查每个数字,并确保它有库存
$stock = $conn – > query(‘SELECT DISTINCT ITemID From codes WHERE Available = 1’);
目前我有这样的设置
function generate_numbers(){ global $numbers; $numbers = array( '0' => rand(1,2),'1' => rand(1,'2' => rand(1,2) ); display_numbers(); }
根据两个变量生成数字,每个数字链接到一个奖品,显然它没有考虑哪些数量有库存,这将导致我发放我没有的奖品,并且它不允许有优势
我需要一种简单的方法来检查一个物品是否有库存,如果它是库存的,它会被添加到一个可以赢得的奖品列表中,我需要它有一个优势,所以一些奖品会出现(很多)比其他基于代码X的简单值的其他人有0.25%的出现机会,而且Y有50%的机会出现.
如果我用更大范围的数字进行设置……
function generate_numbers(){ global $numbers; $numbers = array( '0' => rand(1,100),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()' );
以上是脚本宝典为你收集整理的php – 根据MySQL数据库中的库存随机生成数字全部内容,希望文章能够帮你解决php – 根据MySQL数据库中的库存随机生成数字所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。