>  기사  >  백엔드 개발  >  PHP 포인트 상환 인터페이스 example_php 기술

PHP 포인트 상환 인터페이스 example_php 기술

怪我咯
怪我咯원래의
2017-07-14 11:17:043289검색

많은 웹사이트에는 포인트가 일정 금액까지 적립되면 이 포인트를 사용하여 무언가를 교환할 수 있습니다. 이 기사에서는 주로 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.