PHP积分兑换接口实例

yipeiwu_com5年前PHP代码库

本文实例讲述了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模式设计之观察者模式。分享给大家供大家参考,具体如下: 这是我写的《php模式设计》的第五篇。前面的四篇在不断学习不断加深认识,到了今天再看观察者模式,觉得非常容易理...

php批量删除数据

批量删除文章这个技术没什么高深莫测的,只是想写下来与大家分享。(适合初学者:) 1、首先在文章列表页面(list.php),将多选筐命名为:“$del_id[]”,值为文章ID号。 &n...

一篇入门的php Class 文章

刚在大略浏览了一下首页更新的那篇有关Class的文章(指PHPE的那篇 http://www.phpe.net/articles/389.shtml ),很不错,建议...

PHP使用ffmpeg给视频增加字幕显示的方法

本文实例讲述了PHP使用ffmpeg给视频增加字幕显示的方法。分享给大家供大家参考。具体实现方法如下: 复制代码 代码如下: <?php $dir = './'; // s...

PHP 观察者模式的实现代码

代码如下所示:复制代码 代码如下://被察者抽象类class Observed implements SplSubject{    protected $_...