国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHP轉盤抽獎接口實例

2024-05-04 23:31:05
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了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,'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程序設計有所幫助。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沂源县| 图木舒克市| 怀仁县| 宣武区| 凤凰县| 江达县| 天峨县| 普洱| 政和县| 洛南县| 镇远县| 襄樊市| 略阳县| 成都市| 佳木斯市| 柳州市| 浠水县| 浦城县| 廊坊市| 巫溪县| 鄂伦春自治旗| 闻喜县| 册亨县| 理塘县| 洮南市| 宜君县| 嘉黎县| 平乐县| 井研县| 桐庐县| 凤山市| 田东县| 民勤县| 陇南市| 长泰县| 渭南市| 徐汇区| 龙海市| 赞皇县| 昭苏县| 榆树市|