PHP积分兑换接口实例
本文实例讲述了PHP积分兑换接口的实现方法。分享给大家供大家参考。具体实现方法如下:
exchange.php接口内容如下:
<?php
/*session_start();
if(!isset($_SESSION['zaszh_user_id'])){
echojson_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("updatezaszh_usersetanswer_points=answer_points-{$exchange_points}whereid='{$user_id}'andanswer_points>={$exchange_points}");
if($mysqli->affected_rows){
//有积分
switch($exchange_points){
//5元话费
case200:
$mysqli->query("updatezaszh_telephone_charge_surplussetcharge_surplus=charge_surplus-5wheredate=substring(now(),1,10)andcharge_surplus>=5");
if($mysqli->affected_rows){
//有剩余
$mysqli->query("insertintozaszh_award(user_id,prize,create_date)values('{$user_id}','5元话费',unix_timestamp(now()))");
if($mysqli->affected_rows){
echojson_encode(array('status'=>'success','msg'=>'5元话费'));
}else{
//获奖失败
}
}else{
//无剩余
//恢复答题积分
$mysqli->query("updatezaszh_usersetanswer_points=answer_points+{$exchange_points}whereid='{$user_id}'");
}
break;
//10元话费
case400:
$mysqli->query("updatezaszh_telephone_charge_surplussetcharge_surplus=charge_surplus-10wheredate=substring(now(),1,10)andcharge_surplus>=10");
if($mysqli->affected_rows){
//有剩余
$mysqli->query("insertintozaszh_award(user_id,prize,create_date)values('{$user_id}','10元话费',unix_timestamp(now()))");
if($mysqli->affected_rows){
echojson_encode(array('status'=>'success','msg'=>'10元话费'));
}else{
//获奖失败
}
}else{
//无剩余
//恢复答题积分
$mysqli->query("updatezaszh_usersetanswer_points=answer_points+{$exchange_points}whereid='{$user_id}'");
}
break;
}
//记录积分消耗
$mysqli->query("insertintozaszh_answer_points_consume(user_id,points_consume,consume_for,create_date)values('{$user_id}','{$exchange_points}','exchange',unix_timestamp(now()))");
}else{
//无积分
echojson_encode(array('status'=>'error','msg'=>'您的积分不足。'));
}
$mysqli->close();
希望本文所述对大家的php程序设计有所帮助。