일정기간 이후 회원등급 변경 채택완료
</p>
<p>if($member['mb_level'] == 3 and $is_member){ // 레벨이 3일때</p>
<p> </p>
<p> if($point['po_content'] == '강의실 입장' and (G5_TIME_YMDHIS - $point['po_datetime'] >30)){ ★</p>
<p> </p>
<p> $sql = "update {$g5['member_table']} set mb_level = 2 where mb_level = 3 and mb_id = '{$member['mb_id']}' ";</p>
<p> </p>
<p> sql_query($sql);</p>
<p> </p>
<p> }</p>
<p>}</p>
<p>
login_check.php 에 들어갈 코드입니다.
처음 포인트로 강의실에 입장하면 권한이 3이 되고 이후 30일이 지나면 다시 권한이 2로 내려가는 로직을 짜고있습니다.
(오늘날짜) - (마지막으로 강의실로 입장하여 권한이 3이 되었던 날짜) > 30 이 되야할 것 같은데
저기 별표가 있는 줄이 헷갈립니다.
고수님들의 의견을 구합니다.
답변 3개
포인트에 기록된 명칭이 '강의실 입장' 이고
현재일자가 포인트사용일보다 30일이 경과하면
처리하려는것 같은데요
제대로 작동안할것 같습니다.
왜냐면.. 시분초 까지 함께보는 값이라 시분초의 차이가 30이 아니라
yyyymmddhhmmss 의 구분값이라서
구분해야할 값이 일자만가지고 계산해야 정확합니다.
시분초는 제외해야할거같네요
$point['po_datetime'] 이 아닌
쿼리를 불러올때 po_datetime 의 값을
replace(date(po_datetime),'-','') as po_date 와 같이 변경하고
(G5_TIME_YMD - $point['po_date']) > 30 으로 변경해야 정상작동할겁니다.
답변에 대한 댓글 2개
$point를 가져오는기준이 먼저 정리가 되어야합니다.
사용한 포인트중 강의실 입장에 사용한 최종일자를 기준으로 가져와야 할듯합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
그럼 어느 곳에 구문을 넣으면 잘 동작하나요?
테스트도 쉽지 않네요 ㅋㅋ
댓글을 작성하려면 로그인이 필요합니다.
http://gnuwiz.com/bbs/board.php?bo_table=gnu_tip&wr_id=38">http://gnuwiz.com/bbs/board.php?bo_table=gnu_tip&wr_id=38
가입일로부터 일정기간후 레벨을 조정하는 코드가 있으니
참고해보세요.
답변에 대한 댓글 1개
$sql = "update {$g5['member_table']} set mb_level = 2 where TO_DAYS('".G5_TIME_YMDHIS."') - TO_DAYS(po_datetime)) > 30 and po_content = '강의실 입장' and mb_level = 3 and mb_id = '{$member['mb_id']}' ";
sql_query($sql);
}
이렇게 고쳐봤습니다. 마지막에 강의실에 입장했던 날짜를 참조하도록만 하면 해결 될 것 같은데
맞게 동작할까요?
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
TO_DAYS('".G5_TIME_YMDHIS."') - TO_DAYS(po_datetime)) > 30
코드를 뚫어져라 보다보니
궁금한것은 마지막으로 강의실에 입장하여 권한이 3이 된 날짜를 참조하여 계산하는 것인데
저렇게 코드를 작성하면 예전의 모든 강의실에 입장했던 날짜를 참조하여 틀리게 계산될 것인지
헷갈립니다.
도움 말씀 감사합니다.