포인트 레벨 아이콘 질문드립니다
본문
<?php if (!defined('_GNUBOARD_')) exit; // 포인트별 아이콘 부여 function get_level_icon($mb_id) { global $g5; $max_point = 1000; // 최저 $ren_point = 1000; // 나누기 $max_level = 101; // 마지막레벨 $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/lv_admin.png' align='absmiddle' title='관리자'>"; //} else if ($ic_mb_id == 'test' || $ic_mb_id == 'test2') { // 특정회원들 // $mb_icon = "<img src='".G5_IMG_URL."/level/lv_special.png' align='absmiddle' title='특별회원'>"; } else { $mb_point = $mb['mb_point']; $point = ($mb_point < $max_point) ? $max_point : $mb_point; // 최저포인트 이하 $mb_level = (int)($point / $ren_point); $level = ($mb_level > $max_level) ? $max_level : $mb_level; // 맥스레벨 까지만 $mb_icon = "<img src='".G5_IMG_URL."/level/".$level.".png' align='absmiddle' title='포인트레벨 ".$level."".number_format($mb_point)."점'>"; } } else { // 비회원 $mb_icon = "<img src='".G5_IMG_URL."/level/lv_guest.png' align='absmiddle' title='손님'>"; } return $mb_icon; //echo $mb_icon; } ?>
되어있는데
1000 포인트 이하 1레벨
2100 포인트 이상 2레벨
3300 포인트 이상 3레벨
4600 포인트 이상 4레벨
6000 포인트 이상 5레벨
1레벨은 재대로 적용 되는데 다른레벨도 1레벨로 아이콘이 표기 되는데 어떤게 문제인지..초보자라 이런문의 드려서 죄송합니다.
답변 4
$mb_icon 에서 $level 의 값이 정상 계산되어지고 있는지 확인해보시면 될듯합니다.
<?php
if (!defined('_GNUBOARD_')) exit;
// 포인트별 아이콘 부여
function get_level_icon($mb_id) {
global $g5;
$max_level = 101; // 마지막레벨
$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/lv_admin.png' 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.".png' align='absmiddle' title='포인트레벨 ".$level."".number_format($mb_point)."점'>";
}
}
else {
$mb_icon = "<img src='".G5_IMG_URL."/level/lv_guest.png' align='absmiddle' title='손님'>";
}
return $mb_icon;
}
?>
$mb_level = (int)($point / $ren_point);
$level = ($mb_level > $max_level) ? $max_level : $mb_level; // 맥스레벨 까지만
삭제하고 아래코드를 넣으세요
if ($mb_point >= 6000) $level = 5; else if ($mb_point >= 4600) $level = 4; else if ($mb_point >= 3300) $level = 3; else if ($mb_point >= 2100) $level = 2
else $level = 1;
이와같이 해서도 동일하다면
위코드 끝에 echo $mb_point; 넣어서 포인드가 제대로 추출 되는지 확인
echo $mb_point; <--이것을 넣었으니 당연히 정상출력은 안되는 것이구요
이 포인트 값이 제대로 찍히는지 확인하려고 넣으라는 것입니다
사이트 깨지는 것은 별개로 저렇게 해도 레벨 아이콘이 제대로 안나오나요?
포인트 값은 제대로 출력 되나요?
답변을 작성하시기 전에 로그인 해주세요.