PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了PHP彩票问题多赢家问题大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我已经在PHP中创建了一个彩票脚本.我的问题是现在要选择一位以上的获胜者.因为玩家有可能在门票上拥有相同的号码.在这里,我提供了两个表结构和源代码.

lotto_game {
    id(int)
    jackpot(int)
    status(varchar10)
    pick_1(int)
    pick_2(int)
    pick_3(int)
    pick_4(int)
    pick_5(int)
    tickets_sold(int)
    winner(text)
}

 lotto_picks {
    lotto_id(int)
    user_id(int)
    choice_1(int)
    choice_2(int)
    choice_3(int)
    choice_4(int)
    choice_5(int)
    ticket_status(int)
}

这是我数据库中的两个表.例如,我们将创建2个ID为1和2的用户.因此,脚本运行时发生的情况是,假设将lotto_game状态从“活动”更改为“完成”,然后在每个pick_ *中添加随机彩票号码柱.

$one = rand(1,30);
$two = rand(1,30); 
$three = rand(1,30);
$four = rand(1,30);
$five = rand(1,30);

MysqL_query("updatE `lotto_game` SET 
 pick_1 = '$one',
 pick_2 = '$two',
 pick_3 = '$three',
 pick_4 = '$four',
 pick_5 = '$five',
 status = 'finished' 

WHERE status =’active’“);

我承认那并不难.但这仅仅是结局的开始.

$lotto['tickets'] = MysqL_query("SELECT ticket_id FROM `lotto_picks` WHERE ticket_status='valid'");

@$lotto[winners] = MysqL_query("SELECT ticket_id,user_id FROM `lotto_picks` WHERE choice_1 = '$one' AND choice_2 = '$two' AND choice_3 = '$three' AND choice_4 = '$four' AND choice_5 = '$five'");

$lotto['num_tickets'] = MysqL_num_rows($lotto['tickets']);
@$lotto[winner_id] = MysqL_fetch_array(@$lotto[winners]);
$lotto['jackpot'] = MysqL_query("SELECT jackpot FROM `lotto_game` WHERE status='active'");

$lotto['winner_jackpot'] = MysqL_fetch_array($lotto['jackpot']);
$lotto['num_winners'] = MysqL_num_rows($lotto['winners']);
//echo @$lotto['num_tickets'];
//echo @$lotto['num_winners'];
$winner = $lotto['num_winners'];
//echo @$lotto['winner_id']['user_id'];
$jackpot = $lotto['winner_jackpot']['jackpot'];
$id = @$lotto[winner_id][user_id];
if ($winner == 1) {
    MysqL_query("updatE `character` SET
    decivers = decivers +'$jackpot'
WHERE user_id='$id'");
}

这是我想出的,它似乎确实可以与一位获胜者一起工作.但我只是不知道从这里去哪里.我试过使用一些数组,但没有用.我知道需要做什么,但无法弄清楚该怎么做.

当我搜索获奖者时,我需要将所有用户ID放入一个数组.

因此,如果有人对此感到困惑,那么额外的钱就是金钱.票证上的状态在这里并不重要,但是如果您必须知道它只是确定ticket_status是“有效”还是“无效”

解决方法:

$winners_array = array();
if(MysqL_num_rows($lotto['winners'])!=0){
  while($row =MysqL_fetch_array($lotto['winners'])){
    if(!in_array($row['user_id'],$winners)) $winners[] = $row['user_id'];
  }
}

$winners将是一个包含所有获奖者user_ids的数组

大佬总结

以上是大佬教程为你收集整理的PHP彩票问题多赢家问题全部内容,希望文章能够帮你解决PHP彩票问题多赢家问题所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: