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

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

QA

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

본문

가장 큰점수 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  를  계속 업데이트 해야되는게 손이 많이 가는 작업이겠군요

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

답변을 작성하시기 전에 로그인 해주세요.
전체 0 | RSS
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

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