ホームページ >バックエンド開発 >PHPチュートリアル >PHP ポイント引き換えインターフェイス example_php スキル

PHP ポイント引き換えインターフェイス example_php スキル

怪我咯
怪我咯オリジナル
2017-07-14 11:17:043380ブラウズ

多くの Web サイトにはポイントの機能があり、ポイントが一定量貯まると、そのポイントを使用して何かを引き換えることができます。この記事では主に PHP のポイント引き換えインターフェイスを紹介し、ポイント引き換えインターフェイスの論理処理と処理を分析します。 データベース操作のヒント、必要な友人はそれを参照してください。具体的な実装方法は次のとおりです:

exchange.php インターフェイスの内容は次のとおりです:

<?php  
  
/*session_start(); 
if(!isset($_SESSION[&#39;zaszh_user_id&#39;])){ 
    echo json_encode(array(&#39;status&#39;=>&#39;error&#39;,&#39;msg&#39;=>&#39;连接超时,请重新打开页面。&#39;)); 
    exit; 
} 
$user_id = $_SESSION[&#39;zaszh_user_id&#39;];*/  
  
$user_id = 1; // 测试用  
$exchange_points = intval($_GET[&#39;exchange_points&#39;]);  
  
require(&#39;connect_database.php&#39;);  
// 扣除答题积分  
$mysqli->query("update zaszh_user set answer_points=answer_points-{$exchange_points} where id=&#39;{$user_id}&#39; 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(&#39;{$user_id}&#39;,&#39;5元话费&#39;,unix_timestamp(now()))");  
                if($mysqli->affected_rows){  
                    echo json_encode(array(&#39;status&#39;=>&#39;success&#39;,&#39;msg&#39;=>&#39;5元话费&#39;));  
                }else{  
                    // 获奖失败  
                }  
            }else{  
                // 无剩余  
                // 恢复答题积分  
                $mysqli->query("update zaszh_user set answer_points=answer_points+{$exchange_points} where id=&#39;{$user_id}&#39;");  
            }  
            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(&#39;{$user_id}&#39;,&#39;10元话费&#39;,unix_timestamp(now()))");  
                if($mysqli->affected_rows){  
                    echo json_encode(array(&#39;status&#39;=>&#39;success&#39;,&#39;msg&#39;=>&#39;10元话费&#39;));  
                }else{  
                    // 获奖失败  
                }  
            }else{  
                // 无剩余  
                // 恢复答题积分  
                $mysqli->query("update zaszh_user set answer_points=answer_points+{$exchange_points} where id=&#39;{$user_id}&#39;");  
            }  
            break;  
    }  
  
    // 记录积分消耗  
    $mysqli->query("insert into zaszh_answer_points_consume(user_id,points_consume,consume_for,create_date) values(&#39;{$user_id}&#39;,&#39;{$exchange_points}&#39;,&#39;exchange&#39;,unix_timestamp(now()))");  
}else{  
    // 无积分  
    echo json_encode(array(&#39;status&#39;=>&#39;error&#39;,&#39;msg&#39;=>&#39;您的积分不足。&#39;));  
}  
$mysqli->close();

以上がPHP ポイント引き換えインターフェイス example_php スキルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。