웹마스터 팁
잦은 등급변경으로, 회원 등급이 엉켰을 경우 해결방법.
2009.09.10 17:42
간단하게 PHP파일로 만들어서 올려드리면 좋을텐데...
그러지 못하고 방법만 알려드리게 되었습니다. 양해바랍니다.
mysql 이용과, 간단한 PHP 작성이 가능하시다면 쉽게 하실 수 있을겁니다.
작업순서 (phpmyadmin 접속하여 처리)
xe_member_group_member 테이블을 xe_member_group_member_bkp로 백업한다.
xe_member_group_member 테이블의 구조만 복사하여, xe_member_group_member_1이라는 테이블을 생성한다.
xe_member_group테이블에서 site_srl, group_srl, title 을확인한다.
예)
0, 11, 관리그룹
0, 12, 정회원
0, 2942, 일반회원
$result = mysql_query("SELECT member_srl,regdate FROM xe_member", $dbconn); // xe_member 테이블에서 회원번호와 등록일을 불러온다.
while ($rows=mysql_fetch_array($result)) {
$srl[] = $rows['member_srl'];
$regdate[] = $rows['regdate'];
}
for($i=0; $i<count($srl); $i++){ // 회원수만큼 반복한다.
$result = mysql_query("SELECT point FROM xe_point where member_srl = '$srl[$i]'", $dbconn); // 회원번호에 해당되는 포인트를 불러온다.
list($pts) = mysql_fetch_row($result);
if($pts<300) $grp = 2942; // 300포인트보다 낮을 경우 일반회원(2942)
if($pts>=300) $grp = 12; // 300포인트이상일 경우 정회원(12)
// 관리그룹은 별도로 수정토록한다.
mysql_query("insert into xe_member_group_member_1 (site_srl, group_srl, member_srl, regdate) values ('0', '$grp', '$srl[$i]', '$regdate[$i]')",$dbconn) or mysql_error("QUERY_ERROR");
}
이렇게 작업을 한 후.. xe_member_group_member를 xe_member_group_member_bkp1로 바꿔놓고..
xe_member_group_member_1을 xe_member_group_member로 돌렸습니다.
지저분하게 엉켰던 것들이 깔끔하게 해결이 되었네요...
제가 XE가 익숙하지 않아서..
완성된 파일을 올릴경우 혹시 모를 피해가 발생할지도 몰라서.. 이렇게 올리게되었습니다~~~
xe_member_group_member table을 모르고 그냥 지워버렸어요...
혹시 제가 다시 생성해서 이름만 "xe_member_group_member" 이거로 똑같이 해서 쓸수 있나요?
된다면 xe_member_group_member 테이블 명세좀 알려주세요..ㅠㅠ