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 相关文章推荐
多文件上载系统完整版
Oct 09 PHP
用在PHP里的JS打印函数
Oct 09 PHP
php设计模式 Visitor 访问者模式
Jun 28 PHP
Array of country list in PHP with Zend Framework
Oct 17 PHP
php 注释规范
Mar 29 PHP
从零开始学YII2框架(二)通过 Composer 安装扩展插件
Aug 20 PHP
php将图片保存入mysql数据库失败的解决方法
Dec 27 PHP
PHP基于文件存储实现缓存的方法
Jul 20 PHP
CodeIgniter表单验证方法实例详解
Mar 03 PHP
Yii2 中实现单点登录的方法
Mar 09 PHP
Thinkphp5 自定义上传文件名的实现方法
Jul 23 PHP
php实现对短信验证码发送次数的限制实例讲解
Mar 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
php中处理模拟rewrite 效果
2006/12/09 PHP
php类声明和php类使用方法示例分享
2014/03/29 PHP
C/S和B/S两种架构区别与优缺点分析
2014/10/23 PHP
PHP获取数组的键与值方法小结
2015/06/13 PHP
zend framework重定向方法小结
2016/05/28 PHP
浅谈PHP的反射机制
2016/12/15 PHP
PHP实现防盗链的方法分析
2017/07/25 PHP
jquery ajax 同步异步的执行示例代码
2010/06/23 Javascript
juqery 学习之三 选择器 可见性 元素属性
2010/11/25 Javascript
ASP.NET jQuery 实例9  通过控件hyperlink实现返回顶部效果
2012/02/03 Javascript
jquery提取元素里的纯文本不包含span等里的内容
2013/09/30 Javascript
从数组中随机取x条不重复数据的JS代码
2013/12/24 Javascript
js导出txt示例代码
2014/01/14 Javascript
jquery 表单验证之通过 class验证表单不为空
2015/11/02 Javascript
Jquery ajax加载等待执行结束再继续执行下面代码操作
2015/11/24 Javascript
Sort()函数的多种用法
2016/03/20 Javascript
AngularJS创建自定义指令的方法详解
2016/11/03 Javascript
jquery实现图片轮播器
2017/05/23 jQuery
layui获取多选框中的值方法
2018/08/15 Javascript
如何解决js函数防抖、节流出现的问题
2019/06/17 Javascript
jQuery zTree插件使用简单教程
2019/08/16 jQuery
Nodejs在局域网配置https访问的实现方法
2020/10/17 NodeJs
vue实现下拉菜单树
2020/10/22 Javascript
基于Python实现文件大小输出
2016/01/11 Python
浅谈python之新式类
2018/08/12 Python
关于不懂Chromedriver如何配置环境变量问题解决方法
2019/06/12 Python
Tensorflow训练MNIST手写数字识别模型
2020/02/13 Python
Python configparser模块封装及构造配置文件
2020/08/07 Python
HTML5 Canvas标签使用收录
2009/07/07 HTML / CSS
英国舒适型鞋履品牌:FitFlop
2017/05/17 全球购物
出国签证在职证明
2014/01/16 职场文书
2014厂务公开实施方案
2014/02/17 职场文书
新春寄语大全
2014/04/09 职场文书
2014党委书记四风问题对照检查材料思想汇报
2014/09/22 职场文书
怎样评估创业计划书是否有可行性?
2019/08/07 职场文书
CSS 实现Chrome标签栏的技巧
2021/08/04 HTML / CSS