활동에따라 상대적인 회원레벨 지정하고자 합니다

활동에따라 상대적인 회원레벨 지정하고자 합니다

QA

활동에따라 상대적인 회원레벨 지정하고자 합니다

답변 2

본문

가장 큰점수 300

가장 작은점수 20

나의 점수 150 

 

이렇게 주어졌을때

이를 7단계로 나누고

나의 점수에 따라 2~7 레벨을 자동 지정 하려고 합니다.

 

 

부끄럽습니다만 

레벨을 뽑는 수식이 어떻게 되나요?

 

감사 합니다.

이 질문에 댓글 쓰기 :

답변 2

조건 설계가 좀 더  구체적이어야 할 듯 싶습니다

 

단순 포인트 누적인지 / 기간내 포인트인지

 

상대값인지 절대값인지

 

레벨에 관련되는 포인트는 어디서 얼만큼 추출하는지

 

그외에도 필요한 조건들이 있을 수 있겠지요. 

조건에 대한 구상은 되 있습니다.
포스팅카운트 + 포인트 + 로그인횟수등 등,,,
이런것을 합산하여 회원의 점수필드에 입력되구요

회원중
가장 큰점수를 얻은 회원과
가장 낮은 점수를 얻은 회원이 주어지고
나의 점수가 주어 진다면...

위 회원들의 절대점수를 기준으로 7레벨로 나눈다음
나의 점수가 몇레벨에 해당 되는지를
로그인 체크시 업데이트 시키고자 합니다.

즉 회원의 레벨은 회원들 점수에 대한 상대적으로 결정 하고자 함 입니다.

(가장큰수-가장작은수)/레벨수 = 레벨1구간의 값

 

$증가값 = 1구간값 ;

 

for($i=2; $i<7;  $i++) {

여기서 어떻게 해보면 될까요?

$증가값++; 

}

 

 

쓰신것 처럼 하면 현재 본인과 다른 회원의 값을 비교할수가 없으니...

실시간으로 해당포인트가 계속 업데이트 되고있어야 합니다ㅣ..


회원테이블에 빈칼럼( mb_rankpoint) 을 하나 추가 한 다음에

순서를 매길 포인트를 전부 계산해서 넣습니다.

게시물을 쓰거나 로그인을 하거나 점수에 변동이 생기는 구간마다 업데이트를 해야겠죠.

그 후에 타겟회원의 랭크포인트를 불러와서 $member[mb_rankpoint]

$sql = select count(*) from g5_member_table where mb_rankpoint > '".$member[mb_rankpoint]." ;

쿼리로 해당 회원의 전체 순위를 구하면

회원순위 / 전체회원수  해서 나오는 값을

7등급이라면 (1/7)를 n배 해가면서 비교해서

순위를 표시하면 되겠네요.

그냥 소수점이니까 10등급으로 하면 더 편하겠고요..


mb_rankpoint  를  계속 업데이트 해야되는게 손이 많이 가는 작업이겠군요

이 포인트와 관계된 부분은 여기저기 다 고쳐야 하니까...

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 129,102
© SIRSOFT
현재 페이지 제일 처음으로