지정한 날짜가 지난뒤에만 지급한 포인트를 쓸수 있게..

지정한 날짜가 지난뒤에만 지급한 포인트를 쓸수 있게..

QA

지정한 날짜가 지난뒤에만 지급한 포인트를 쓸수 있게..

본문

지정한 날짜가 지난뒤에만 지급한 포인트를 쓸 수 있게 가능한가요?

예를들어 2014년 6월 22일에 포인트를 지급했다면, 10일 뒤인 2014년 7월 2일에 해당 포인트가 사용이 가능하게요.

이 질문에 댓글 쓰기 :

답변 1

머리를 잘 굴려보면 어떻게하면 되겠다는 답이 나올 법 하긴한데

임시 테이블을 만들어서 10일 지나면 이동시키는 방법이 먼저 생각나지만 복잡해질 것 같고...

아래 방법은 오류는 없을지 테스트는 해보아야겠습니다만 비교적 쉬운 방법이 아닐까 싶습니다

G4용


1. common.lib.php

function insert_point(~~~)에서

포인트 합 구해서 update하는 부분 삭제


2. function delete_point(~~~)에서

    // 포인트 내역의 합을 구하고 부분 수정
        $sql = " select sum(po_point) as sum_po_point from $g4[point_table] where mb_id = '$mb_id' ";

--> 수정

$day10 = date("Y-m-d 00:00:00", strtotime("-10 day"));

$sql = " select sum(po_point) as sum_po_point from $g4[point_table] where mb_id = '$mb_id' and po_datetime<'$day10' ";


3. extend 폴더에 mypoint_sum.php 화일을 만들고 

<?

if($member[mb_id] && $member[mb_1]< $g4[time_ymd]){

 $day10 = date("Y-m-d 00:00:00", strtotime("-10 day"));

$row = sql_fetch(" select sum(po_point) as sum_point from $g4[point_table] where mb_id = '$member[mb_id]' and po_datetime < '$day10'");
sql_query(" update $g4[member_table] set mb_point = '$row[sum_point]' , mb_1 = '$g4[time_ymd]' where mb_id = '$member[mb_id]' ");

$member[mb_point] = $row[sum_point];

}

?>

원리는

포인트 지급시 누적 합계는 구하지않는다

삭제시는 합계를 계산 하되 10일전 까지만 합계를 낸다

로그인하면 하루에 한번만 10일이전까지 누적합계를 낸다

 - 누적 합계는 접속시 하루에 한번만 계산하므로 디비에 무리는 없을 것입니다

더 나은 방법이 있을지는 모르겠습니다


답변을 작성하시기 전에 로그인 해주세요.
전체 24
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT