本文实例讲述了PHP转盘抽奖接口的实现方法。分享给大家供大家参考。具体如下:

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

lottery_get.php接口文件如下:

复制代码 代码如下:<?php  /*session_start(); if(!isset($_SESSION["zaszh_user_id"])){     echo json_encode(array("status"=>"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程序设计有所帮助。