테스트 사이트 - 개발 중인 베타 버전입니다

레벨 포인트 증가 여기서 어떻게 수정할까요? 채택완료

배그누1 1년 전 조회 1,534

포인트 받으면 레벨 아이콘 변경시키는거 하는중인데

일단 노가다로 하나씩 넣는 방법을 택했습니다.

다른거 해봤는데 필요 포인트가 점점 늘어가는게 안먹혀서요..

 

아래 코드를 넣엇는데 레벨 2까지는 2100되니까 변했는데

그 이상부터는 얼마를 넣어도 변하질 않네요...

 

[코드]

 

// 포인트별 아이콘 부여 
function get_level_icon($mb_id) { 
    global $g5;     
    $max_level = 450; // 마지막레벨 
    
    $mb = get_member($mb_id, "mb_id, mb_point"); 
    $ic_mb_id = $mb['mb_id']; 
    $is_admin = is_admin($ic_mb_id); 
    if ($ic_mb_id) {         
        if ($is_admin == 'super') { 
            $mb_icon = "<img src='".G5_IMG_URL."/level/g.gif' align='absmiddle' title='관리자'>";         
        } else { 
            $mb_point = $mb['mb_point']; 
            
            //if ($mb_point <= 1000) 
            if ($mb_point < 2100) 
                $mb_level = 1;
            else if ($mb_point >= 2100)
                $mb_level = 2;
            else if ($mb_point >= 3300)
                $mb_level = 3;
            else if ($mb_point >= 4600)
                $mb_level = 4;
            else if ($mb_point >= 6000)
                $mb_level = 5;
    
            $level = ($mb_level > $max_level) ? $max_level : $mb_level;
            $mb_icon = "<img src='".G5_IMG_URL."/level/".$level.".gif' align='absmiddle' title='포인트레벨 ".$level."".number_format($mb_point)."점'>"; 
        } 
        
    } 
   else { 
        // 비회원 
        $mb_icon = "<img src='".G5_IMG_URL."/level/0.gif' align='absmiddle' title='손님'>"; 
    } 
    return $mb_icon; 
    //echo $mb_icon; 

?> 

[코드]

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

답변 2개

채택된 답변
+20 포인트
1년 전

안녕하세요.

아래의 코드를 한번 참고해 보시겠어요~

 

// 포인트별 아이콘 부여 
function get_level_icon($mb_id) { 
    global $g5;     
    $max_level = 450; // 마지막레벨 
    
    $mb = get_member($mb_id, "mb_id, mb_point"); 
    $ic_mb_id = $mb['mb_id']; 
    $is_admin = is_admin($ic_mb_id); 
    if ($ic_mb_id) {         
        if ($is_admin == 'super') { 
            $mb_icon = "<img src='".G5_IMG_URL."/level/g.gif' align='absmiddle' title='관리자'>";         
        } else { 
            $mb_point = $mb['mb_point']; 

            // 포인트가 가장 높은 조건부터 체크
            if ($mb_point >= 6000)
                $mb_level = 5;
            else if ($mb_point >= 4600)
                $mb_level = 4;
            else if ($mb_point >= 3300)
                $mb_level = 3;
            else if ($mb_point >= 2100)
                $mb_level = 2;
            else 
                $mb_level = 1;
    
            $level = ($mb_level > $max_level) ? $max_level : $mb_level;
            $mb_icon = "<img src='".G5_IMG_URL."/level/".$level.".gif' align='absmiddle' title='포인트레벨 ".$level."".number_format($mb_point)."점'>"; 
        } 
        
    } 
   else { 
        // 비회원 
        $mb_icon = "<img src='".G5_IMG_URL."/level/0.gif' align='absmiddle' title='손님'>"; 
    } 
    return $mb_icon; 
    //echo $mb_icon; 

 

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

답변에 대한 댓글 1개

배그누1
1년 전
와...감사합니다.. 바로 되네요ㅠ

비교해보고 더 공부하겠습니다.!!

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

1년 전

높은순으로 해야지 되는 이유는 if문에서 이미 5000점이라면 2000점이 넘어서 아래 조건을 가지를 않습니다. 해당 같은 경우에는 제이앤님 말씀 처럼 높은 순으로 하시면 됩니다.

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

답변에 대한 댓글 1개

배그누1
1년 전
감사합니다. 이렇게 또 하나 배워갑니다.

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

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

로그인