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

8년 전 조회 2,640

Copy
<?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개

채택된 답변
+20 포인트

Copy
<?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]}' ");}?>


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

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

다들 감사합니다 다른쪽으로 해당 회원일경우가 오류라서 맴돌았네요

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

$datetime = date('Y-m-d H:i:s', strtotime($member['mb_2']));

 

이렇게 처리하셔야 할겁니다. 윗분처럼 하셔도 되겠지만요

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

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


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


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

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

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

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

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

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고