PHP轉盤抽獎介面執行個體_php技巧

來源:互聯網
上載者:User

本文執行個體講述了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程式設計有所協助。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.