값 나누기 .. 중간에 if문을 넣어야할텐데. 채택완료
아나냐양
6년 전
조회 2,031
회원 포인트의 8000점마다 이미지가 바뀌는 소스입니다.
400000 점까지는 8000점마다 바뀌고 그 이후에는 12000점 마다 바뀌게 하고 싶은데
이부분을 바꿔야하는거 같은데 아무리 해봐도안되네요..
원본소스입니다.
</p>
<p>function get_level_icon($mb_id) {
global $g5;
$max_point = 1000; // 최저
$ren_point = 8000; // 나누기
$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/admin.gif' align='absmiddle' title='관리자'>";
} else {
$mb_point = $mb['mb_point'];
$point = ($mb_point < $max_point) ? $max_point : $mb_point; // 최저포인트 이하
$mb_level = (int)($point / $ren_point); </p>
<p> $level = ($mb_level > $max_level) ? $max_level : $mb_level; // 맥스레벨 까지만
$mb_icon = "<img src='".G5_IMG_URL."/level/".$level.".gif' align='absmiddle' ".$level."".number_format($mb_point)."점'>"; </p>
<p> }
}
else {
// 비회원
$mb_icon = "<img src='".G5_IMG_URL."/level/0.gif' align='absmiddle' title=''>";
}
return $mb_icon; </p>
<p>}
?> </p>
<p>
아래는 직접 해본것이 이건데.
이렇게 해봣는데 화며이 아예 안나오고 오류가 납니다.
어떻게 변경해야할까요 ㅠ
function get_level_icon($mb_id) {
global $g5;
$max_point = 1000; // 최저
$ren_point = 8000; // 나누기
$max_level = 450; // 마지막레벨 </p>
<p> </p>
<p> $min_level = 50; //50레벨까 8000
$ren2_point = 12000; //50이후 12000씩</p>
<p> $min_total = 400000; // 8x5의 40만값
$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/admin.gif' align='absmiddle' title='관리자'>";
} else {
$mb_point = $mb['mb_point'];
$point = ($mb_point < $max_point) ? $max_point : $mb_point; // 최저포인트 이하
$mb_level = (int)($point / $ren_point);
if ($mb_level < $min_level) {
$level = ($mb_level > $max_level) ? $max_level : $mb_level; // 맥스레벨 까지만
$mb_icon = "<img src='".G5_IMG_URL."/level/".$level.".gif' align='absmiddle' ".$level."".number_format($mb_point)."점'>"; }</p>
<p> </p>
<p> else {
$mb_minp = $mb['mb_point']
$mb_division = (int)($mb_minp / $ren2_point);
$mb_mmplevel = (int)($min_level + $mb_division);
$level = ($mb_mmplevel > $max_level) ? $max_level : $mb_mmplevel; // 맥스레벨 까지만
$mb_icon = "<img src='".G5_IMG_URL."/level/".$level.".gif' align='absmiddle' ".$level."".number_format($mb_point)."점'>"; }
}
}
else {
// 비회원
$mb_icon = "<img src='".G5_IMG_URL."/level/0.gif' align='absmiddle' title=''>";
}
return $mb_icon;
}
?> </p>
<p>
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
채택된 답변
+20 포인트
6년 전
$point = ($mb_point < $max_point) ? $max_point : $mb_point; // 최저포인트 이하
if($mb_point > 400000) $ren_point = 12000;
$mb_level = (int)($point / $ren_point);
원본 코드에서 저 둘 사이에 빨간 부분 추가해 보세요.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 4개
�
아나냐양
6년 전
�
왕계란
6년 전
유저의 포인트 총합을 갖고 하는 게 아니라는 건가요?
예를 들어 A는 포인트가 300000이고 B는 500000일 경우 A는 400000이 안 되니까 계속 8000으로 나누고 B는 400000까지는 8000으로 나누고 나머지 100000은 12000으로 나눈다는 말씀이신가요?
예를 들어 A는 포인트가 300000이고 B는 500000일 경우 A는 400000이 안 되니까 계속 8000으로 나누고 B는 400000까지는 8000으로 나누고 나머지 100000은 12000으로 나눈다는 말씀이신가요?
�
아나냐양
6년 전
계란님 네 그 설명이 맞습니다.!!
�
왕계란
6년 전
if($mb_point > 400000) {
$tmp_point = $mb_point - 400000;
$mb_level = (int)($tmp_point / 12000) + (int)(400000 / $ren_point);
} else {
$mb_level = (int)($point / $ren_point);
}
이렇게 하면 되지 않을까요?
$tmp_point = $mb_point - 400000;
$mb_level = (int)($tmp_point / 12000) + (int)(400000 / $ren_point);
} else {
$mb_level = (int)($point / $ren_point);
}
이렇게 하면 되지 않을까요?
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
이렇게 넣으면
400000 이상 점수전체를 12000으로 나누어서요
400000까지는 8000으로 나누고, 400000이상 부분만 12000으로 나누려고요 ㅠ