PHP转盘抽奖接口实例
发布时间:2020-12-13 02:24:20 所属栏目:PHP教程 来源:网络整理
导读:《:PHP转盘抽奖接口实例》要点: 本文介绍了:PHP转盘抽奖接口实例,希望对您有用。如果有疑问,可以联系我们。 本篇章节讲解PHP转盘抽奖接口的实现办法.供大家参考研究.具体如下: 这里的转盘抽奖随机返回一个转盘角度,概率可自己定义 lottery_get
《:PHP转盘抽奖接口实例》要点: 本篇章节讲解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, ??? '6' => array('min_angle'=>271,'max_angle'=>315, ??? '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,'小米',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,'拍立得','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,'10元话费','msg'=>'10元话费'));? ??????????????? }else{? ??????????????????? // 获奖失败? ??????????????? }? ??????????? }else{? ??????????????? // 无剩余? ??????????? }? ??????????? break;? ??????? case '5元话费':? ??????????? $mysqli->query("update zaszh_telephone_charge_surplus set charge_surplus=charge_surplus-5 where date=substring(now(),10) and charge_surplus>=5");? ??????????? if($mysqli->affected_rows){? ??????????????? // 有剩余? ??????????????? $mysqli->query("insert into zaszh_award(user_id,'5元话费','msg'=>'5元话费'));? ??????????????? }else{? ??????????????????? // 获奖失败? ??????????????? }? ??????????? }else{? ??????????????? // 无剩余? ??????????? }? ??????????? break;? ??????? default:? ??????????? echo json_encode(array('status'=>'success','msg'=>'谢谢参与'));? ??? }? }else{? ??? // 无积分? ??? echo json_encode(array('status'=>'error','msg'=>'您的积分不足.'));? }? $mysqli->close(); 希望本文所述对大家的php程序设计有所赞助. 欢迎参与《:PHP转盘抽奖接口实例》讨论,分享您的想法,编程之家 52php.cn为您提供专业教程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |