加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP转盘抽奖接口实例

发布时间:2020-12-13 02:24:20 所属栏目:PHP教程 来源:网络整理
导读:《:PHP转盘抽奖接口实例》要点: 本文介绍了:PHP转盘抽奖接口实例,希望对您有用。如果有疑问,可以联系我们。 本篇章节讲解PHP转盘抽奖接口的实现办法.供大家参考研究.具体如下: 这里的转盘抽奖随机返回一个转盘角度,概率可自己定义 lottery_get

《:PHP转盘抽奖接口实例》要点:
本文介绍了: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为您提供专业教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读