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基础知识:控制结构
Dec 13 PHP
php 删除记录同时删除图片文件的实现代码
May 12 PHP
第三章 php操作符与控制结构代码
Dec 30 PHP
深入php socket的讲解与实例分析
Jun 13 PHP
PHP session_start()问题解疑(详细介绍)
Jul 05 PHP
在PHP模板引擎smarty生成随机数的方法和math函数详解
Apr 24 PHP
php显示时间常用方法小结
Jun 05 PHP
PHP多维数组转一维数组的简单实现方法
Dec 23 PHP
在laravel中使用Symfony的Crawler组件分析HTML
Jun 19 PHP
docker-compose部署php项目实例详解
Jul 30 PHP
有关PHP 中 config.m4 的探索
Aug 26 PHP
win10下 php安装seaslog扩展的详细步骤
Dec 04 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
跟我学小偷程序之成功偷取首页(第三天)
2006/10/09 PHP
隐藏X-Space个人空间下方版权方法隐藏X-Space个人空间标题隐藏X-Space个人空间管理版权方法
2007/02/22 PHP
PHP容易忘记的知识点分享
2013/04/30 PHP
将二维数组转为一维数组的2种方法
2014/05/26 PHP
phpstorm配置Xdebug进行调试PHP教程
2014/12/01 PHP
PHP与JavaScript针对Cookie的读写、交互操作方法详解
2017/08/07 PHP
javascript编程起步(第三课)
2007/02/27 Javascript
表单元素事件 (Form Element Events)
2009/07/17 Javascript
写给想学习Javascript的朋友一点学习经验小结
2010/11/23 Javascript
jQuery 遍历- 关于closest() 的方法介绍以及与parents()的方法区别分析
2013/04/26 Javascript
完美解决IE低版本不支持call与apply的问题
2013/12/05 Javascript
jquery实现标签支持图文排列带上下箭头按钮的选项卡
2015/03/14 Javascript
Javascript aop(面向切面编程)之around(环绕)分析
2015/05/01 Javascript
jQuery.each使用详解
2015/07/07 Javascript
jQuery滚动加载图片实现原理
2015/12/14 Javascript
JavaScript事件类型中UI事件详解
2016/01/14 Javascript
js实现方块上下左右移动效果
2017/08/17 Javascript
JavaScript定时器setTimeout()和setInterval()详解
2017/08/18 Javascript
通过fastclick源码分析彻底解决tap“点透”
2017/12/24 Javascript
vue首次赋值不触发watch的解决方法
2018/09/11 Javascript
微信小程序页面渲染实现方法
2019/11/06 Javascript
JS实现基本的网页计算器功能示例
2020/01/16 Javascript
python实现电子词典
2020/04/23 Python
Python中的变量和作用域详解
2016/07/13 Python
python编程通过蒙特卡洛法计算定积分详解
2017/12/13 Python
python实现单链表中删除倒数第K个节点的方法
2018/09/28 Python
详解python中的线程与线程池
2019/05/10 Python
利用Pandas和Numpy按时间戳将数据以Groupby方式分组
2019/07/22 Python
世界第一冲浪品牌:O’Neill
2016/08/30 全球购物
Forever 21美国官网:美国标志性快时尚品牌
2017/02/20 全球购物
Notino意大利:购买香水和化妆品
2018/11/14 全球购物
毕业生大学生活自我总结
2014/01/31 职场文书
贷款委托书范本
2014/04/08 职场文书
大学生作弊检讨书
2014/09/11 职场文书
Python 数据可视化之Bokeh详解
2021/11/02 Python
css3带你实现3D转换效果
2022/02/24 HTML / CSS