회원 여분필드2 날짜가 지났다면 레벨강등

회원 여분필드2 날짜가 지났다면 레벨강등

QA

회원 여분필드2 날짜가 지났다면 레벨강등

본문

<?php
/*
   업소회원에 제휴기간(여분필드2)가 지났다면
   레벨 7로 강등
*/
 
$datetime = date('Y-m-d H:i:s', strtotime("-{$member['mb_2']}"));
 
$sql = " select * from {$g5['member_table']} where mb_today_login < '{$datetime}' ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
    sql_query("update {$g5['member_table']} set mb_level = '7' where mb_id = '{$row[mb_id]}' ");
}
?>
 


회원 여분필드2에는 20170820 을 넣어논상태입니다.


로그인을 체크하여 멤버테이블 비교하여 크다면 해당회원 레벨을 7로 하려고하는데


날짜와 상관없이 전체회원 레벨이 변경되버리네요 ㅠㅠ

이 질문에 댓글 쓰기 :

답변 5



<?php
/*
   업소회원에 제휴기간(여분필드2)가 지났다면
   레벨 7로 강등
*/
 
$datetime = date('Y-m-d H:i:s', strtotime("{$member['mb_2']}"));
 
$sql = " select * from {$g5['member_table']} where mb_today_login > '{$datetime}' ";
//로그인 날짜가 mb_2의 날짜보다 크다면 회원레벨 7등급으로 변경

$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
    sql_query("update {$g5['member_table']} set mb_level = '7' where mb_id = '{$row[mb_id]}' ");
}

?>


이런식으로 해야 할 것 같습니다

일반회원과 업소회원(?)을 분류한 필드가 있나요?

지금 select 와 update 시에 회원분류에 대한 정의가 없어서 
전체로 바뀌는거 같네요.

업소회원을 지정한 필드가 있으면 where 절에 추가해 보세요.

select * from {$g5['member_table']} where mb_today_login < '{$datetime}' 해버리면


날짜가 남은 회원들이 전부다 선택되지 않나요?


select * from {$g5['member_table']} where CURRENT_DATE > '{$datetime}' 이런식이어야 하지 않나요?

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

회원로그인

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