PHP積分兌換接口實(shí)例
更新時(shí)間:2015年02月09日 15:41:34 作者:yhb241
這篇文章主要介紹了PHP積分兌換接口,實(shí)例分析了積分兌換接口的邏輯處理與數(shù)據(jù)庫操作技巧,需要的朋友可以參考下
本文實(shí)例講述了PHP積分兌換接口的實(shí)現(xiàn)方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
exchange.php接口內(nèi)容如下:
復(fù)制代碼 代碼如下:
<?php
/*session_start();
if(!isset($_SESSION['zaszh_user_id'])){
echo json_encode(array('status'=>'error','msg'=>'連接超時(shí),請重新打開頁面。'));
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元話費(fèi)
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元話費(fèi)',unix_timestamp(now()))");
if($mysqli->affected_rows){
echo json_encode(array('status'=>'success','msg'=>'5元話費(fèi)'));
}else{
// 獲獎(jiǎng)失敗
}
}else{
// 無剩余
// 恢復(fù)答題積分
$mysqli->query("update zaszh_user set answer_points=answer_points+{$exchange_points} where id='{$user_id}'");
}
break;
// 10元話費(fèi)
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元話費(fèi)',unix_timestamp(now()))");
if($mysqli->affected_rows){
echo json_encode(array('status'=>'success','msg'=>'10元話費(fèi)'));
}else{
// 獲獎(jiǎng)失敗
}
}else{
// 無剩余
// 恢復(fù)答題積分
$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();
/*session_start();
if(!isset($_SESSION['zaszh_user_id'])){
echo json_encode(array('status'=>'error','msg'=>'連接超時(shí),請重新打開頁面。'));
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元話費(fèi)
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元話費(fèi)',unix_timestamp(now()))");
if($mysqli->affected_rows){
echo json_encode(array('status'=>'success','msg'=>'5元話費(fèi)'));
}else{
// 獲獎(jiǎng)失敗
}
}else{
// 無剩余
// 恢復(fù)答題積分
$mysqli->query("update zaszh_user set answer_points=answer_points+{$exchange_points} where id='{$user_id}'");
}
break;
// 10元話費(fèi)
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元話費(fèi)',unix_timestamp(now()))");
if($mysqli->affected_rows){
echo json_encode(array('status'=>'success','msg'=>'10元話費(fèi)'));
}else{
// 獲獎(jiǎng)失敗
}
}else{
// 無剩余
// 恢復(fù)答題積分
$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程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:
- ThinkPHP登錄功能的實(shí)現(xiàn)方法
- ThinkPHP之用戶注冊登錄留言完整實(shí)例
- PHP使用CURL實(shí)現(xiàn)對帶有驗(yàn)證碼的網(wǎng)站進(jìn)行模擬登錄的方法
- php中實(shí)現(xiàn)記住密碼下次自動登錄的例子
- php中實(shí)現(xiàn)記住密碼自動登錄的代碼
- PHP版微信第三方實(shí)現(xiàn)一鍵登錄及獲取用戶信息的方法
- php+MySQL實(shí)現(xiàn)登錄時(shí)驗(yàn)證登錄名和密碼是否正確
- php $_SESSION會員登錄實(shí)例分享
- PHP+MYSQL會員系統(tǒng)的登陸即權(quán)限判斷實(shí)現(xiàn)代碼
- php基于登陸時(shí)間判斷實(shí)現(xiàn)一天多次登錄只積分一次功能示例
相關(guān)文章
php allow_url_include的應(yīng)用和解釋
PHP常常因?yàn)樗赡茉试SURLS被導(dǎo)入和執(zhí)行語句被人們指責(zé)。事實(shí)上,這件事情并不是很讓人感到驚奇,因?yàn)檫@是導(dǎo)致稱為Remote URL Include vulnerabilities的php應(yīng)用程序漏洞的最重要的原因之一。2010-04-04PHP 使用openssl 擴(kuò)展實(shí)現(xiàn)公鑰加密的方法
下面小編就為大家分享一篇PHP 使用openssl 擴(kuò)展實(shí)現(xiàn)公鑰加密的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-03-03靜態(tài)html文件執(zhí)行php語句的方法(推薦)
下面小編就為大家?guī)硪黄o態(tài)html文件執(zhí)行php語句的方法(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-11-11