欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP轉(zhuǎn)盤抽獎(jiǎng)接口實(shí)例

 更新時(shí)間:2015年02月09日 15:48:00   作者:yhb241  
這篇文章主要介紹了PHP轉(zhuǎn)盤抽獎(jiǎng)接口的實(shí)現(xiàn)方法,實(shí)例分析了隨機(jī)抽獎(jiǎng)接口的實(shí)現(xiàn)原理與對(duì)應(yīng)數(shù)據(jù)庫(kù)操作的技巧,需要的朋友可以參考下

本文實(shí)例講述了PHP轉(zhuǎn)盤抽獎(jiǎng)接口的實(shí)現(xiàn)方法。分享給大家供大家參考。具體如下:

這里的轉(zhuǎn)盤抽獎(jiǎng)隨機(jī)返回一個(gè)轉(zhuǎn)盤角度,概率可自己定義

lottery_get.php接口文件如下:

復(fù)制代碼 代碼如下:
<?php 
/*session_start();
if(!isset($_SESSION['zaszh_user_id'])){
    echo json_encode(array('status'=>'error','msg'=>'連接超時(shí),請(qǐng)重新打開頁(yè)面。'));
    exit;
}
$user_id = $_SESSION['zaszh_user_id'];*/ 
 
$user_id = 1; // 測(cè)試用 
 
// 轉(zhuǎn)盤區(qū)域 
$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元話費(fèi)'),
    '3' => array('min_angle'=>136,'max_angle'=>180,'prize'=>'5元話費(fèi)'),
    '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'=>'謝謝參與') 
); 
 
// 選定區(qū)域 
$area_selected = array(); 
// 隨機(jī)抽取 
$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元話費(fèi) 
    case 3: $area_selected = $arr_area[2]; break; 
    // 5元話費(fèi) 
    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{ 
                    // 獲獎(jiǎng)失敗 
                } 
            }else{ 
                // 無(wú)剩余 
            } 
            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{ 
                    // 獲獎(jiǎng)失敗 
                } 
            }else{ 
                // 無(wú)剩余 
            } 
            break; 
        case '10元話費(fèi)': 
            $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元話費(fèi)',unix_timestamp(now()))"); 
                if($mysqli->affected_rows){ 
                    echo json_encode(array('status'=>'success','msg'=>'10元話費(fèi)')); 
                }else{ 
                    // 獲獎(jiǎng)失敗 
                } 
            }else{ 
                // 無(wú)剩余 
            } 
            break; 
        case '5元話費(fèi)': 
            $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元話費(fèi)',unix_timestamp(now()))"); 
                if($mysqli->affected_rows){ 
                    echo json_encode(array('status'=>'success','msg'=>'5元話費(fèi)')); 
                }else{ 
                    // 獲獎(jiǎng)失敗 
                } 
            }else{ 
                // 無(wú)剩余 
            } 
            break; 
        default: 
            echo json_encode(array('status'=>'success','msg'=>'謝謝參與')); 
    } 
}else{ 
    // 無(wú)積分 
    echo json_encode(array('status'=>'error','msg'=>'您的積分不足。')); 

$mysqli->close();

希望本文所述對(duì)大家的php程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • PHPWind與Discuz截取字符函數(shù)substrs與cutstr性能比較

    PHPWind與Discuz截取字符函數(shù)substrs與cutstr性能比較

    PHP性能優(yōu)化系列第四期實(shí)戰(zhàn)篇,如何使用PEAR Benchmark類工具獲取函數(shù)執(zhí)行性能,這里以PHPWind與Discuz!兩個(gè)社區(qū)論壇的截取字符函數(shù)substrs與cutstr為例,分析兩個(gè)函數(shù)的執(zhí)行性能情況
    2011-12-12
  • ThinPHP無(wú)法加載模塊問(wèn)題的解決方案

    ThinPHP無(wú)法加載模塊問(wèn)題的解決方案

    ThinPHP是一個(gè)輕量級(jí)的PHP框架,它提供了一種簡(jiǎn)單的方式來(lái)開發(fā)Web應(yīng)用程序,然而,有時(shí)候我們可能會(huì)遇到ThinPHP無(wú)法加載模塊的問(wèn)題,這可能是由于多種原因?qū)е碌?本文將詳細(xì)介紹如何解決這個(gè)問(wèn)題,需要的朋友可以參考下
    2023-12-12
  • php中使用websocket詳解

    php中使用websocket詳解

    網(wǎng)上也有一些關(guān)于php的websocket的實(shí)現(xiàn),但是只有自己親手寫過(guò)之后才知道其中的感受。下面就把個(gè)人的一些心得給大家分享下
    2016-09-09
  • PHP容易被忽略而出錯(cuò)陷阱 數(shù)字與字符串比較

    PHP容易被忽略而出錯(cuò)陷阱 數(shù)字與字符串比較

    數(shù)字與字符串比較時(shí), 先嘗試將字符串轉(zhuǎn)換為數(shù)字, 再比較, 一個(gè)不能轉(zhuǎn)換為數(shù)字的字符串, 轉(zhuǎn)換結(jié)果為0, 故, 與0比較總返回 true
    2011-11-11
  • 關(guān)于PHP5和PHP7中數(shù)組實(shí)現(xiàn)方式的比較總結(jié)

    關(guān)于PHP5和PHP7中數(shù)組實(shí)現(xiàn)方式的比較總結(jié)

    PHP7比PHP5性能提升了兩倍,全面一致的64位支持,以前的許多致命錯(cuò)誤,現(xiàn)在改成拋出異常,下面這篇文章主要給大家介紹了關(guān)于PHP5和PHP7中數(shù)組實(shí)現(xiàn)方式比較的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • 配置支持SSI

    配置支持SSI

    配置支持SSI...
    2006-11-11
  • PHP中合并數(shù)組的常見方法分享

    PHP中合并數(shù)組的常見方法分享

    相信各位phper在日常開發(fā)中,會(huì)經(jīng)常遇到需要合并數(shù)組的場(chǎng)景。那么,在php中都有哪一些方法可以用來(lái)合并數(shù)組呢,本文為大家進(jìn)行了一個(gè)總結(jié),希望對(duì)大家有所幫助
    2022-11-11
  • php中文字母數(shù)字驗(yàn)證碼實(shí)現(xiàn)代碼

    php中文字母數(shù)字驗(yàn)證碼實(shí)現(xiàn)代碼

    php下實(shí)現(xiàn)多種方式的驗(yàn)證碼實(shí)現(xiàn)效果代碼
    2008-04-04
  • Laravel中l(wèi)og無(wú)法寫入問(wèn)題的解決

    Laravel中l(wèi)og無(wú)法寫入問(wèn)題的解決

    這篇文章主要介紹了Laravel中l(wèi)og無(wú)法寫入問(wèn)題的解決,文中給出了詳細(xì)解決方法供大家參考學(xué)習(xí),對(duì)大家具有一定的參考借鑒價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-06-06
  • 一鍵生成各種尺寸Icon的php腳本(實(shí)例)

    一鍵生成各種尺寸Icon的php腳本(實(shí)例)

    下面小編就為大家?guī)?lái)一篇一鍵生成各種尺寸Icon的php腳本(實(shí)例)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-02-02

最新評(píng)論