PHP转盘抽奖接口实例

前端之家收集整理的这篇文章主要介绍了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,
'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相关文章