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实现首页链接查询 友情链接检查的代码
Jan 05 PHP
PHP中PDO的错误处理
Sep 04 PHP
深入理解PHP之数组(遍历顺序)  Laruence原创
Jun 13 PHP
关于php支持分块与断点续传文件下载功能代码
May 09 PHP
PHP实现把MySQL数据库导出为.sql文件实例(仿PHPMyadmin导出功能)
May 10 PHP
php获取根域名方法汇总
Oct 28 PHP
thinkphp模板用法和内容输出实例
Nov 28 PHP
PHP实现的简单网络硬盘
Jul 29 PHP
在CentOS系统上从零开始搭建WordPress博客的全流程记录
Apr 21 PHP
php解析base64数据生成图片的方法
Dec 06 PHP
PHP基于ORM方式操作MySQL数据库实例
Jun 21 PHP
php把文件设置为插件的技巧方法
Feb 03 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实现异步操作的研究
2013/02/03 PHP
php使用自定义函数实现汉字分割替换功能示例
2017/01/30 PHP
php取出数组单个值的方法
2018/03/12 PHP
PHP的curl函数的用法总结
2019/02/14 PHP
PHP让网站移动访问更加友好方法
2019/02/14 PHP
PHP实现cookie跨域session共享的方法分析
2019/08/23 PHP
showModalDialog 和 showModelessDialog
2007/01/22 Javascript
Javascript 判断 object 的特定类转载
2007/02/01 Javascript
js实现两个值相加alert出来精确到指定位
2013/09/25 Javascript
对new functionName()定义一个函数的理解
2014/05/22 Javascript
Javascript原型链和原型的一个误区
2014/10/22 Javascript
Javascript实现Web颜色值转换
2015/02/05 Javascript
Javascript动画的实现原理浅析
2015/03/02 Javascript
Jquery ajax加载等待执行结束再继续执行下面代码操作
2015/11/24 Javascript
详解js中构造流程图的核心技术JsPlumb(2)
2015/12/08 Javascript
jQuery简介_动力节点Java学院整理
2017/07/04 jQuery
jquery版轮播图效果和extend扩展
2017/07/18 jQuery
浅谈js基础数据类型和引用类型,深浅拷贝问题,以及内存分配问题
2017/09/02 Javascript
JavaScript中的相等操作符使用详解
2019/12/21 Javascript
详解vue中v-model和v-bind绑定数据的异同
2020/08/10 Javascript
Python使用PyGreSQL操作PostgreSQL数据库教程
2014/07/30 Python
Python实现的中国剩余定理算法示例
2017/08/05 Python
python学习教程之Numpy和Pandas的使用
2017/09/11 Python
pyttsx3实现中文文字转语音的方法
2018/12/24 Python
对python中if语句的真假判断实例详解
2019/02/18 Python
Windows10+anacond+GPU+pytorch安装详细过程
2020/03/24 Python
css3 transform导致子元素固定定位变成绝对定位的方法
2020/03/06 HTML / CSS
使用 CSS3 中@media 实现网页自适应的示例代码
2020/03/24 HTML / CSS
英国著名音像制品和图书游戏购物网站:Zavvi
2016/08/04 全球购物
印度领先的在线时尚商店:Koovs
2016/08/28 全球购物
Collection和Collections的区别
2016/05/02 面试题
大学毕业感言
2014/01/10 职场文书
公司门卫的岗位职责
2014/02/19 职场文书
2015年大学团支部工作总结
2015/05/13 职场文书
Nest.js参数校验和自定义返回数据格式详解
2021/03/29 Javascript
Pandas||过滤缺失数据||pd.dropna()函数的用法说明
2021/05/14 Python