레벨 포인트 증가 여기서 어떻게 수정할까요?
본문
포인트 받으면 레벨 아이콘 변경시키는거 하는중인데
일단 노가다로 하나씩 넣는 방법을 택했습니다.
다른거 해봤는데 필요 포인트가 점점 늘어가는게 안먹혀서요..
아래 코드를 넣엇는데 레벨 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
안녕하세요.
아래의 코드를 한번 참고해 보시겠어요~
// 포인트별 아이콘 부여
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;
}
높은순으로 해야지 되는 이유는 if문에서 이미 5000점이라면 2000점이 넘어서 아래 조건을 가지를 않습니다. 해당 같은 경우에는 제이앤님 말씀 처럼 높은 순으로 하시면 됩니다.