PHP积分兑换接口实例


Posted in PHP onFebruary 09, 2015

本文实例讲述了PHP积分兑换接口的实现方法。分享给大家供大家参考。具体实现方法如下:

exchange.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; // 测试用  

$exchange_points = intval($_GET['exchange_points']);  

  

require('connect_database.php');  

// 扣除答题积分  

$mysqli->query("update zaszh_user set answer_points=answer_points-{$exchange_points} where id='{$user_id}' and answer_points>={$exchange_points}");  

if($mysqli->affected_rows){  

    // 有积分  

    switch($exchange_points){  

        // 5元话费  

        case 200:  

            $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{  

                // 无剩余  

                // 恢复答题积分  

                $mysqli->query("update zaszh_user set answer_points=answer_points+{$exchange_points} where id='{$user_id}'");  

            }  

            break;  

        // 10元话费  

        case 400:  

            $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{  

                // 无剩余  

                // 恢复答题积分  

                $mysqli->query("update zaszh_user set answer_points=answer_points+{$exchange_points} where id='{$user_id}'");  

            }  

            break;  

    }  

  

    // 记录积分消耗  

    $mysqli->query("insert into zaszh_answer_points_consume(user_id,points_consume,consume_for,create_date) values('{$user_id}','{$exchange_points}','exchange',unix_timestamp(now()))");  

}else{  

    // 无积分  

    echo json_encode(array('status'=>'error','msg'=>'您的积分不足。'));  

}  

$mysqli->close();

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
php+AJAX传送中文会导致乱码的问题的解决方法
Sep 08 PHP
PHP5中Cookie与 Session使用详解
Apr 30 PHP
php全局变量和类配合使用深刻理解
Jun 05 PHP
PHP fopen()和 file_get_contents()应用与差异介绍
Mar 19 PHP
destoon整合UCenter图文教程
Jun 21 PHP
基于PHP如何把汉字转化为拼音
Dec 11 PHP
PHP识别二维码的方法(php-zbarcode安装与使用)
Jul 07 PHP
Zend Framework过滤器Zend_Filter用法详解
Dec 09 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
Jun 16 PHP
php判断/计算闰年的方法小结【三种方法】
Jul 06 PHP
laravel中Redis队列监听中断的分析
Sep 14 PHP
PHP面试题 wakeup魔法 Ezpop pop序列化与反序列化
Apr 11 PHP
PHP答题类应用接口实例
Feb 09 #PHP
自己写的php中文截取函数mb_strlen和mb_substr
Feb 09 #PHP
php构造函数的继承方法
Feb 09 #PHP
php继承中方法重载(覆盖)的应用场合
Feb 09 #PHP
php抽象类使用要点与注意事项分析
Feb 09 #PHP
PHP中的socket_read和socket_recv区别详解
Feb 09 #PHP
支持png透明图片的php生成缩略图类分享
Feb 08 #PHP
You might like
页面乱码问题的根源及其分析
2013/08/09 PHP
jquery+thinkphp实现跨域抓取数据的方法
2016/10/15 PHP
一些有关检查数据的JS代码
2006/09/07 Javascript
nodejs中exports与module.exports的区别详细介绍
2013/01/14 NodeJs
解析Javascript小括号“()”的多义性
2013/12/03 Javascript
JavaScript实现移动端滑动选择日期功能
2016/06/21 Javascript
Webstorm2016使用技巧(SVN插件使用)
2018/10/29 Javascript
C#程序员入门学习微信小程序的笔记
2019/03/05 Javascript
小程序云开发实现数据库异步操作同步化
2019/05/18 Javascript
微信小程序-可移动菜单的实现过程详解
2019/06/24 Javascript
layui插件表单验证提交触发提交的例子
2019/09/09 Javascript
vue实现在进行增删改操作后刷新页面
2020/08/05 Javascript
Python使用django获取用户IP地址的方法
2015/05/11 Python
在Python操作时间和日期之asctime()方法的使用
2015/05/22 Python
sublime text 3配置使用python操作方法
2017/06/11 Python
Python2 Selenium元素定位的实现(8种)
2019/02/25 Python
Python使用pyserial进行串口通信的实例
2019/07/02 Python
python UDP(udp)协议发送和接收的实例
2019/07/22 Python
pytorch在fintune时将sequential中的层输出方法,以vgg为例
2019/08/20 Python
python+jinja2实现接口数据批量生成工具
2019/08/28 Python
pyinstaller打包成无控制台程序时运行出错(与popen冲突的解决方法)
2020/04/15 Python
python多线程爬取西刺代理的示例代码
2021/01/30 Python
用HTML5实现鼠标滚轮事件放大缩小图片的功能
2015/06/25 HTML / CSS
吉列剃须刀美国官网:Gillette美国
2018/07/13 全球购物
蒙蒂塞罗商店:Monticello Shop
2018/11/25 全球购物
美团网旗下网上订餐平台:美团外卖
2020/03/05 全球购物
FragranceNet中文网:北美健康美容线上零售商
2020/08/26 全球购物
如果让你测试一台高速激光打印机,你都会进行哪些测试
2012/12/04 面试题
Java程序员综合测试题
2014/04/25 面试题
建筑施工实习自我鉴定
2013/09/19 职场文书
师范毕业生自我鉴定
2014/01/15 职场文书
办公室主任岗位职责
2015/01/31 职场文书
辩护意见书
2015/06/04 职场文书
辣妈辣妹观后感
2015/06/10 职场文书
2015最新婚礼主持词
2015/06/30 职场文书
Python-typing: 类型标注与支持 Any类型详解
2021/05/10 Python