千家信息网

PHP如何实现转盘抽奖接口

发表于:2024-10-08 作者:千家信息网编辑
千家信息网最后更新 2024年10月08日,这篇文章主要介绍PHP如何实现转盘抽奖接口,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体如下:这里的转盘抽奖随机返回一个转盘角度,概率可自己定义lottery_get.ph
千家信息网最后更新 2024年10月08日PHP如何实现转盘抽奖接口

这篇文章主要介绍PHP如何实现转盘抽奖接口,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

具体如下:

这里的转盘抽奖随机返回一个转盘角度,概率可自己定义

lottery_get.php接口文件如下:

'error','msg'=>'连接超时,请重新打开页面。'));     exit; } $user_id = $_SESSION['zaszh_user_id'];*/    $user_id = 1; // 测试用    // 转盘区域  $arr_area = array(      '0' => array('min_angle'=>1,'max_angle'=>45,'prize'=>'小米'),    '1' => array('min_angle'=>46,'max_angle'=>90,'prize'=>'拍立得'),    '2' => array('min_angle'=>91,'max_angle'=>135,'prize'=>'10元话费'),     '3' => array('min_angle'=>136,'max_angle'=>180,'prize'=>'5元话费'),     '4' => array('min_angle'=>181,'max_angle'=>225,'prize'=>'谢谢参与'),    '5' => array('min_angle'=>226,'max_angle'=>270,'prize'=>'谢谢参与'),    '6' => array('min_angle'=>271,'max_angle'=>315,'prize'=>'谢谢参与'),    '7' => array('min_angle'=>316,'max_angle'=>360,'prize'=>'谢谢参与')  );    // 选定区域  $area_selected = array();  // 随机抽取  $num_rand = mt_rand(1,10);  switch($num_rand){      // 小米      case 1: $area_selected = $arr_area[0]; break;      // 拍立得      case 2: $area_selected = $arr_area[1]; break;      // 10元话费      case 3: $area_selected = $arr_area[2]; break;      // 5元话费      case 4: $area_selected = $arr_area[3]; break;      // 谢谢参与      default:          switch(mt_rand(1,4)){              case 1: $area_selected = $arr_area[4]; break;              case 2: $area_selected = $arr_area[5]; break;              case 3: $area_selected = $arr_area[6]; break;              case 4: $area_selected = $arr_area[7]; break;          }          break;  }  echo $area_selected['prize'];    require('connect_database.php');  // 扣除答题积分  $mysqli->query("update zaszh_user set answer_points=answer_points-5 where id='{$user_id}' and answer_points>=5");  if($mysqli->affected_rows){      // 有积分      // 记录积分消耗      $mysqli->query("insert into zaszh_answer_points_consume(user_id,points_consume,consume_for,create_date) values('{$user_id}',5,'lottery',unix_timestamp(now()))");      switch($area_selected['prize']){          case '小米':              $mysqli->query("update zaszh_prize_surplus set surplus=surplus-1 where prize='小米' and surplus>0");              if($mysqli->affected_rows){                  // 有剩余                  $mysqli->query("insert into zaszh_award(user_id,prize,create_date) values('{$user_id}','小米',unix_timestamp(now()))");                  if($mysqli->affected_rows){                      echo json_encode(array('status'=>'success','msg'=>'小米'));                  }else{                      // 获奖失败                  }              }else{                  // 无剩余              }              break;          case '拍立得':              $mysqli->query("update zaszh_prize_surplus set surplus=surplus-1 where prize='拍立得' and surplus>0");              if($mysqli->affected_rows){                  // 有剩余                  $mysqli->query("insert into zaszh_award(user_id,prize,create_date) values('{$user_id}','拍立得',unix_timestamp(now()))");                  if($mysqli->affected_rows){                      echo json_encode(array('status'=>'success','msg'=>'拍立得'));                  }else{                      // 获奖失败                  }              }else{                  // 无剩余              }              break;          case '10元话费':              $mysqli->query("update zaszh_telephone_charge_surplus set charge_surplus=charge_surplus-10 where date=substring(now(),1,10) and charge_surplus>=10");              if($mysqli->affected_rows){                  // 有剩余                  $mysqli->query("insert into zaszh_award(user_id,prize,create_date) values('{$user_id}','10元话费',unix_timestamp(now()))");                  if($mysqli->affected_rows){                      echo json_encode(array('status'=>'success','msg'=>'10元话费'));                  }else{                      // 获奖失败                  }              }else{                  // 无剩余              }              break;          case '5元话费':              $mysqli->query("update zaszh_telephone_charge_surplus set charge_surplus=charge_surplus-5 where date=substring(now(),1,10) and charge_surplus>=5");              if($mysqli->affected_rows){                  // 有剩余                  $mysqli->query("insert into zaszh_award(user_id,prize,create_date) values('{$user_id}','5元话费',unix_timestamp(now()))");                  if($mysqli->affected_rows){                      echo json_encode(array('status'=>'success','msg'=>'5元话费'));                  }else{                      // 获奖失败                  }              }else{                  // 无剩余              }              break;          default:              echo json_encode(array('status'=>'success','msg'=>'谢谢参与'));      }  }else{      // 无积分      echo json_encode(array('status'=>'error','msg'=>'您的积分不足。'));  }  $mysqli->close();

以上是"PHP如何实现转盘抽奖接口"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

0