레벨 아이콘 이미지 출력 채택완료
</p>
<p><?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;
}
?> </p>
<p>
1레벨은 재대로 적용 되는데 다른레벨도 1레벨로 아이콘이 표기 되는데 어떤게 문제인지..
초보자라 이런문의 드려서 죄송합니다.
https://sir.kr/data/editor/2101/20264455_1611602764.2568.jpg" />
https://sir.kr/data/editor/2101/20264455_1611602770.4469.jpg" />
https://sir.kr/bbs/view_image.php?fn=https%3A%2Fdata%2Feditor%2F2101%2F20264455_1611598407.9219.jpg" target="_blank">https://sir.kr/data/editor/2101/20264455_1611598407.9219.jpg" />

답변 6개
$mb_level = (int)($point / $ren_point);
1300 EXP 니까 1.3이 나오고 int선언하니까 1이 나오는게 맞습니다.
ceil로 올림처리 하시거나 +1을 해주시는 형태로 변경하셔야 원하시는
형태가 될것 같습니다
답변에 대한 댓글 7개
진짜.. 다입력 해봤는데 ...
그냥 point 부분을 전부 exp로 변경하면될까요?
다시 드릴게요 쪽지 주세요
정보공개 안되어있으셔서 쪽지 안가지십니다
풀고 쪽지주세요
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
2,3둘다에 걸쳐있잖아요 ㅜㅜ
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 4개
최소하고 최대에 다 포함되어있는데..
이상인지 초과인지 미만인지 이하인지...
댓글을 작성하려면 로그인이 필요합니다.
</p>
<p><?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; // 최저포인트 이하
if ($mb_point >= 606000) $level = 101;
else if ($mb_point >= 595000) $level = 100;
else if ($mb_point >= 584100) $level = 99;
else if ($mb_point >= 573300) $level = 98;
else if ($mb_point >= 562600) $level = 97;
else if ($mb_point >= 552000) $level = 96;
else if ($mb_point >= 541500) $level = 95;
else if ($mb_point >= 531100) $level = 94;
else if ($mb_point >= 520800) $level = 93;
else if ($mb_point >= 510600) $level = 92;
else if ($mb_point >= 500500) $level = 91;
else if ($mb_point >= 490500) $level = 90;
else if ($mb_point >= 490500) $level = 89;
else if ($mb_point >= 470800) $level = 88;
else if ($mb_point >= 461100) $level = 87;
else if ($mb_point >= 451500) $level = 86;
else if ($mb_point >= 442000) $level = 85;
else if ($mb_point >= 432600) $level = 84;
else if ($mb_point >= 423300) $level = 83;
else if ($mb_point >= 423300) $level = 82;
else if ($mb_point >= 405000) $level = 81;
else if ($mb_point >= 396000) $level = 80;
else if ($mb_point >= 387100) $level = 79;
else if ($mb_point >= 378300) $level = 78;
else if ($mb_point >= 369600) $level = 77;
else if ($mb_point >= 361000) $level = 76;
else if ($mb_point >= 352500) $level = 75;
else if ($mb_point >= 344100) $level = 74;
else if ($mb_point >= 335800) $level = 73;
else if ($mb_point >= 327600) $level = 72;
else if ($mb_point >= 319500) $level = 71;
else if ($mb_point >= 311500) $level = 70;
else if ($mb_point >= 303600) $level = 69;
else if ($mb_point >= 295800) $level = 68;
else if ($mb_point >= 288100) $level = 67;
else if ($mb_point >= 280500) $level = 66;
else if ($mb_point >= 273000) $level = 65;
else if ($mb_point >= 265600) $level = 64;
else if ($mb_point >= 258300) $level = 63;
else if ($mb_point >= 251100) $level = 62;
else if ($mb_point >= 244000) $level = 61;
else if ($mb_point >= 237000) $level = 60;
else if ($mb_point >= 230100) $level = 59;
else if ($mb_point >= 223300) $level = 58;
else if ($mb_point >= 216600) $level = 57;
else if ($mb_point >= 210000) $level = 56;
else if ($mb_point >= 203500) $level = 55;
else if ($mb_point >= 197100) $level = 54;
else if ($mb_point >= 190800) $level = 53;
else if ($mb_point >= 184600) $level = 52;
else if ($mb_point >= 178500) $level = 51;
else if ($mb_point >= 172500) $level = 50;
else if ($mb_point >= 166600) $level = 49;
else if ($mb_point >= 160800) $level = 48;
else if ($mb_point >= 155100) $level = 47;
else if ($mb_point >= 149500) $level = 46;
else if ($mb_point >= 144000) $level = 45;
else if ($mb_point >= 138600) $level = 44;
else if ($mb_point >= 133300) $level = 43;
else if ($mb_point >= 128100) $level = 42;
else if ($mb_point >= 123000) $level = 41;
else if ($mb_point >= 118000) $level = 40;
else if ($mb_point >= 113100) $level = 39;
else if ($mb_point >= 108300) $level = 38;
else if ($mb_point >= 103600) $level = 37;
else if ($mb_point >= 99000) $level = 36;
else if ($mb_point >= 94000) $level = 35;
else if ($mb_point >= 90000) $level = 34;
else if ($mb_point >= 85000) $level = 33;
else if ($mb_point >= 81600) $level = 32;
else if ($mb_point >= 77500) $level = 31;
else if ($mb_point >= 73500) $level = 30;
else if ($mb_point >= 69600) $level = 29;
else if ($mb_point >= 65800) $level = 28;
else if ($mb_point >= 62100) $level = 27;
else if ($mb_point >= 58500) $level = 26;
else if ($mb_point >= 55000) $level = 25;
else if ($mb_point >= 51600) $level = 24;
else if ($mb_point >= 48300) $level = 23;
else if ($mb_point >= 45100) $level = 22;
else if ($mb_point >= 42000) $level = 21;
else if ($mb_point >= 39000) $level = 20;
else if ($mb_point >= 36100) $level = 19;
else if ($mb_point >= 33300) $level = 18;
else if ($mb_point >= 30600) $level = 17;
else if ($mb_point >= 28000) $level = 16;
else if ($mb_point >= 25500) $level = 15;
else if ($mb_point >= 23100) $level = 14;
else if ($mb_point >= 20800) $level = 13;
else if ($mb_point >= 18600) $level = 12;
else if ($mb_point >= 16500) $level = 11;
else if ($mb_point >= 14500) $level = 10;
else if ($mb_point >= 12600) $level = 9;
else if ($mb_point >= 10800) $level = 8;
else if ($mb_point >= 9100) $level = 7;
else if ($mb_point >= 7500) $level = 6;
else 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 if ($mb_point >= 4600) $level = 4;
else if ($mb_point >= 3300) $level = 3;
else if ($mb_point >= 2100) $level = 2;
else $level = 1;
$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;
}
?></p>
<p>
하... 다 넣어봤지만... 이번에는 깨지지는않는데 변화가 없네요
답변에 대한 댓글 3개
1000점대 2레벨
2000점대 3레벨
4000점대 4레벨로 변경하시려면
$mb_level = (int)($point / $ren_point); <-- 이 부분을 아래껄로 변경하세요
$mb_level = (int)ceil($point / $ren_point);
어떤 소스랑 기준점으로 쓰실려고 하는지 모르겠네요
1레벨 기준점이 몇인가요? 2레벨~101레벨의 기준점은 몇인가요?
소스가 좀 섞어지신것 같은데... 1000~2100점 사이 회원이 붕 뜨는 문제도있고..
소스중간중간 불필요한 것들도 있고..2번 elseif 된것도 있고...;;
하고자 하는 기준을 명확하게 말씀해주시면 답을 드릴 수 있을 것 같습니다.
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
근데 이게 로그인 위젯 뿐이 아니라 게시판에서도 레벨 아이콘이 변경이 없습니다
<div class="f-de font-weight-normal">
<?php if($is_member) { //Login ?>
<div class="d-flex align-items-center mb-3">
<div class="pr-3">
<?php include_once G5_LIB_PATH."/level_icon.lib.php"; echo get_level_icon($member['mb_id']); ?>
</div>
<div class="flex-grow-1 pt-2">
<h5 class="hide-photo mb-2">
<b style="letter-spacing:-1px;"><?php echo str_replace('sv_member', 'sv_member en', $member['sideview']); ?></b>
</h5>
<p class="f-sm">
<?php echo ($member['mb_grade']) ? $member['mb_grade'] : $member['as_level'].'레벨'; ?>
<?php if ($is_admin == 'super' || $member['is_auth']) { ?>
<span class="na-bar"></span>
<a href="<?php echo correct_goto_url(G5_ADMIN_URL); ?>">
관리자
</a>
<?php } ?>
</p>
</div>
</div>
<?php
// 멤버쉽 플러그인
if(IS_NA_XP) {
$member['as_max'] = (isset($member['as_max']) && $member['as_max'] > 0) ? $member['as_max'] : 1;
$per = (int)(($member['as_exp'] / $member['as_max']) * 100);
?>
<div class="clearfix f-sm mt-2">
<span class="float-left">레벨 <?php echo $member['as_level'] ?></span>
<span class="float-right">
<a href="<?php echo G5_BBS_URL ?>/exp.php" target="_blank" class="win_point">
Exp <?php echo number_format($member['as_exp']) ?>(<?php echo $per ?>%)
</a>
</span>
</div>
<div class="progress bg-white" title="레벨업까지 <?php echo number_format($member['as_max'] - $member['as_exp']);?> 경험치 필요">
<div class="progress-bar progress-bar-striped" role="progressbar" aria-valuenow="<?php echo $per ?>" aria-valuemin="0" aria-valuemax="100" style="width: <?php echo $per ?>%">
<span class="sr-only"><?php echo $per ?>%</span>
<?php } ?>
</div>
</div>
<div class="btn-group w-100" role="group" aria-label="Member Menu">
<a href="javascript:;" onclick="sidebar('user')" class="btn btn-primary text-white" role="button">
내정보
</a>
<a href="javascript:;" onclick="sidebar('noti')" class="btn btn-primary text-white" role="button">
<i class="fa fa-bell" aria-hidden="true"></i>
<span class="sr-only">알림</span>
<span class="nt-noti-label<?php echo ($member['noti_cnt']) ? '' : ' d-none';?>">
<b class="nt-noti-cnt"><?php echo number_format($member['noti_cnt']) ?></b>
</span>
</a>
<a href="<?php echo G5_BBS_URL ?>/logout.php" class="btn btn-primary text-white" role="button">
로그아웃
</a>
</div>
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인

