댓글(코멘트)입력란에 경험치 게이지가 정상적으로 표시가 되지않네요;;; 정보
댓글(코멘트)입력란에 경험치 게이지가 정상적으로 표시가 되지않네요;;;
본문
원인은 뭐가 문제인거는 알겠는데;;;해결 방법을 모르겠습니다;;;;
게시판상단에 작성자의 레벨아이콘과 경험치는 잘나오는데
문제는 아래의 댓글부분인데 각 회원의 이미지까지는 정상적으로 나오는데 경험치 게이지가...일단
<?=exp_bar($list[$i][mb_id],$mb[mb_point],1);?>
이부분에서 앞의 아이디값은 정상적으로 잘 불러오는데 뒤의 포인트값을 정상적으로 불러오지못하네요;;;
아무리 변수를 바꾸어봐도....되지가않습니다....ㅠ.ㅠ
지금 저렇게하면 글작성자의 포인트값만 불러오네요;;댓글작성자의 포인트값을 전혀 불러오지못하고있네요;;;
물론 해당 파일 상단에
if ($write[wr_id]) { //레벨 아이콘 표시 시작
$mb = get_member($write[mb_id]);
}
$level = get_member_level($mb['mb_id'],$mb['mb_point']); //레벨 아이콘 표시 끝
는 넣었구요;;;;;;;
왜 이상하게 자꾸.....글 작성자의 포인트값은 잘 불러와지는데;;;;댓글작성자의 포인트값을 가지고오지못할까요...ㅠ.ㅠ
혼자서 끙끙되다가 결국 이렇게 질문글을 적게되네요..ㅠ.ㅠ
참고로 작성자 양계닭은 현재 슈퍼어드민 계정이고...경험치 23%는 맞는 값입니다(.....)
1000포인트마다 레벨업을 하게 설정이되어있거든요-ㅁ-;;;;
포인트가 1,231점이니까....23%맞습니다(....)원래 관리자계정은 경험치게이지가 표시되지않아야하는데^^;;;;게시글 본문에서는 잘표시가 되는데;;;;;
댓글부분에서는 적나라(???)하게 포인트가 나오는군요;;;;
게시판상단에 작성자의 레벨아이콘과 경험치는 잘나오는데
문제는 아래의 댓글부분인데 각 회원의 이미지까지는 정상적으로 나오는데 경험치 게이지가...일단
<?=exp_bar($list[$i][mb_id],$mb[mb_point],1);?>
이부분에서 앞의 아이디값은 정상적으로 잘 불러오는데 뒤의 포인트값을 정상적으로 불러오지못하네요;;;
아무리 변수를 바꾸어봐도....되지가않습니다....ㅠ.ㅠ
지금 저렇게하면 글작성자의 포인트값만 불러오네요;;댓글작성자의 포인트값을 전혀 불러오지못하고있네요;;;
물론 해당 파일 상단에
if ($write[wr_id]) { //레벨 아이콘 표시 시작
$mb = get_member($write[mb_id]);
}
$level = get_member_level($mb['mb_id'],$mb['mb_point']); //레벨 아이콘 표시 끝
는 넣었구요;;;;;;;
왜 이상하게 자꾸.....글 작성자의 포인트값은 잘 불러와지는데;;;;댓글작성자의 포인트값을 가지고오지못할까요...ㅠ.ㅠ
혼자서 끙끙되다가 결국 이렇게 질문글을 적게되네요..ㅠ.ㅠ
참고로 작성자 양계닭은 현재 슈퍼어드민 계정이고...경험치 23%는 맞는 값입니다(.....)
1000포인트마다 레벨업을 하게 설정이되어있거든요-ㅁ-;;;;
포인트가 1,231점이니까....23%맞습니다(....)원래 관리자계정은 경험치게이지가 표시되지않아야하는데^^;;;;게시글 본문에서는 잘표시가 되는데;;;;;
댓글부분에서는 적나라(???)하게 포인트가 나오는군요;;;;
댓글 전체

$mb라는 변수 print_r2로 찍어보시죠 정상적으로 출력되는지..?

if ($write[wr_id]) { //레벨 아이콘 표시 시작
$mb = get_member($write[mb_id]);
}
$write[wr_id]는 수정글일때만 저런 변수가 생깁니다.
댓글부분 경험치 표시 부분에
if ($list[$i][mb_id]) { //레벨 아이콘 표시 시작
$mb = get_member($list[$i][mb_id]);
}
$level = get_member_level($mb['mb_id'],$mb['mb_point']); //레벨 아이콘 표시 끝
로 변경해보세요
$mb = get_member($write[mb_id]);
}
$write[wr_id]는 수정글일때만 저런 변수가 생깁니다.
댓글부분 경험치 표시 부분에
if ($list[$i][mb_id]) { //레벨 아이콘 표시 시작
$mb = get_member($list[$i][mb_id]);
}
$level = get_member_level($mb['mb_id'],$mb['mb_point']); //레벨 아이콘 표시 끝
로 변경해보세요

안되네요......아예 따로 <?=$mb[mb_point]?>값을 빼서 출력이되나 확인을 했는데 나오지가 않네요;;;아무런 값도 출력이되지않습니다.

for문 list돌아가는곳 다 뿌려줘보세요
exp_bar 함수도 같이요.
exp_bar 함수도 같이요.

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
if ($list[$i][mb_id]) { //레벨 아이콘 표시 시작
$mb = get_member($list[$i][mb_id]);
}
$level = get_member_level($mb['mb_id'],$mb['mb_point']); //레벨 아이콘 표시 끝
include_once("$g4[path]/head.sub.php");
include_once("$g4[path]/lib/thumb.lib.php");
?>
<table width=660 cellpadding=0 cellspacing=0 border=0>
<tr>
<td valign=top><? for ($k=0; $k<strlen($list[$i][wr_comment_reply]); $k++) echo "<img src='$board_skin_path/img/icon_reply.gif'>"?></td
><td valign=top>
<? if($mb[mb_level] < 2) {
echo "<img src='$board_skin_path/img/guest.jpg' Width='73' height='73' >";
} else {
$mb_icon = "";
$mb_dir = substr($list[$i][mb_id],0,2);
$icon_file = "$g4[path]/data/member/$mb_dir/{$list[$i][mb_id]}.gif";
if (file_exists($icon_file)) {
$mb_thumb = thumbnail($icon_file , 73,73,0,0,100);
echo "<img src='$mb_thumb' width='73' height='73' >";
} else {
echo "<img src='$board_skin_path/img/noimg.gif' width='73' height='73' >";
}
}
?>
<?=$mb_icon?>
<table border=0 cellpadding=0 cellspacing=0 width=580>
<tr>
<tr>
<td height="80"colspan=2 rowspan="3"></td>
</tr>
<td valign=top>
<div style="height:28px; background:url(<?=$board_skin_path?>/img/co_title_bg.gif);">
<div style="float:left;">
<strong><?=level_icon($list[$i][mb_id])?><?=$list[$i][name]?></strong>
<span style="color:#888888; font-size:11px;"><?=$list[$i][datetime]?></span>
</div>
<div style="float:left; padding-left:10px;">
<?=exp_bar($list[$i][mb_id],$mb[mb_point],1);?><?=$list[$i][mb_point]?></div>
<div style="float:right;">
이렇게하면되나요?
그냥 아예 파일을 첨부할려고했는데 게시글이 수정이안되네요..ㅠ.ㅠ
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
if ($list[$i][mb_id]) { //레벨 아이콘 표시 시작
$mb = get_member($list[$i][mb_id]);
}
$level = get_member_level($mb['mb_id'],$mb['mb_point']); //레벨 아이콘 표시 끝
include_once("$g4[path]/head.sub.php");
include_once("$g4[path]/lib/thumb.lib.php");
?>
<table width=660 cellpadding=0 cellspacing=0 border=0>
<tr>
<td valign=top><? for ($k=0; $k<strlen($list[$i][wr_comment_reply]); $k++) echo "<img src='$board_skin_path/img/icon_reply.gif'>"?></td
><td valign=top>
<? if($mb[mb_level] < 2) {
echo "<img src='$board_skin_path/img/guest.jpg' Width='73' height='73' >";
} else {
$mb_icon = "";
$mb_dir = substr($list[$i][mb_id],0,2);
$icon_file = "$g4[path]/data/member/$mb_dir/{$list[$i][mb_id]}.gif";
if (file_exists($icon_file)) {
$mb_thumb = thumbnail($icon_file , 73,73,0,0,100);
echo "<img src='$mb_thumb' width='73' height='73' >";
} else {
echo "<img src='$board_skin_path/img/noimg.gif' width='73' height='73' >";
}
}
?>
<?=$mb_icon?>
<table border=0 cellpadding=0 cellspacing=0 width=580>
<tr>
<tr>
<td height="80"colspan=2 rowspan="3"></td>
</tr>
<td valign=top>
<div style="height:28px; background:url(<?=$board_skin_path?>/img/co_title_bg.gif);">
<div style="float:left;">
<strong><?=level_icon($list[$i][mb_id])?><?=$list[$i][name]?></strong>
<span style="color:#888888; font-size:11px;"><?=$list[$i][datetime]?></span>
</div>
<div style="float:left; padding-left:10px;">
<?=exp_bar($list[$i][mb_id],$mb[mb_point],1);?><?=$list[$i][mb_point]?></div>
<div style="float:right;">
이렇게하면되나요?
그냥 아예 파일을 첨부할려고했는데 게시글이 수정이안되네요..ㅠ.ㅠ

extend.level.php파일의 내용입니다;;
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
function get_member_level($mb_id,$mb_point) {
global $g4;
$is_admin = is_admin($mb_id);
$point = $mb_point;
$level = ceil($point / 1000); //반올림을 하여 레벨을 구함.
if($mb_id)if($level <= 1) $level = 1; // 위 반올림에서 렙1미만 회원에게 레벨1을 줌, (비회원은 0)
if ($level > 97) $level = 97; // 최대 레벨 설정
if($is_admin == 'super') $level = 99; //관리자는 최고 레벨
$no = sprintf("%03d", $level);
return ;
}
//포인트 상태바
function exp_bar($mb_id,$mb_point,$option) {
global $g4;
$is_admin = is_admin($mb_id);
$point = $mb_point;
$level = ceil($point / 1000); //반올림을 하여 레벨을 구함.
if($mb_id)if($level <= 1){$level = 1;} // 반올림에서 렙1미만 회원에게 레벨1을 줌, (비회원은 0)
if ($level > 97){$level = 97;} //최대 레벨 설정
if($is_admin == 'super'){$level = 99;} //관리자는 최고 레벨
$no = sprintf("%03d", $level);
$max = $level * 1000;
if(!$level){$max=1000; $a_max=1000; $a_min=0;}else{$a_max = (int)($max / $level);$a_min = (int)($point - (1000 * ($level-1)));} //레벨이 없으면 최대값, 있으면 레벨에 맞는 최대값을 구함
if($is_admin == 'super'){$max=1000; $a_max=1000; $a_min=0;} //관리자는 기본세팅
$bar = (int)($a_min / $a_max * 100);
if($bar > 100) $bar = 0;
$graph = $bar."%"; //등급, 경험치바 표시
if($level == 0){$level = "--";} // 레벨값을 이용해 레벨대신 표시
//if($level == 60){$level = "admin";} // 레벨값을 이용해 레벨대신 표시
if($option == 1){
echo "<table border='0' cellspacing='0' cellpadding='0'><tr><td><table width='62' border='0' cellspacing='0' cellpadding='0' background='$g4[path]/img/exp_bar.gif'><tr height='1'><td colspan='3'></td></tr><tr height='5'><td width='1'></td><td width='60'><img src='$g4[path]/img/exp_in.gif' width='$graph' height='5'></td><td width='1'></td></tr><tr height='1'><td colspan='3'></td></tr></table></td><td> <span style='color:#479b11; font-size:10px; font-family:돋음; vertical-align:1px;'><span style='font-size:11px;font-weight:bold;'></span>Exp: $graph</span><td></tr></table>";
}
}
?>
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
function get_member_level($mb_id,$mb_point) {
global $g4;
$is_admin = is_admin($mb_id);
$point = $mb_point;
$level = ceil($point / 1000); //반올림을 하여 레벨을 구함.
if($mb_id)if($level <= 1) $level = 1; // 위 반올림에서 렙1미만 회원에게 레벨1을 줌, (비회원은 0)
if ($level > 97) $level = 97; // 최대 레벨 설정
if($is_admin == 'super') $level = 99; //관리자는 최고 레벨
$no = sprintf("%03d", $level);
return ;
}
//포인트 상태바
function exp_bar($mb_id,$mb_point,$option) {
global $g4;
$is_admin = is_admin($mb_id);
$point = $mb_point;
$level = ceil($point / 1000); //반올림을 하여 레벨을 구함.
if($mb_id)if($level <= 1){$level = 1;} // 반올림에서 렙1미만 회원에게 레벨1을 줌, (비회원은 0)
if ($level > 97){$level = 97;} //최대 레벨 설정
if($is_admin == 'super'){$level = 99;} //관리자는 최고 레벨
$no = sprintf("%03d", $level);
$max = $level * 1000;
if(!$level){$max=1000; $a_max=1000; $a_min=0;}else{$a_max = (int)($max / $level);$a_min = (int)($point - (1000 * ($level-1)));} //레벨이 없으면 최대값, 있으면 레벨에 맞는 최대값을 구함
if($is_admin == 'super'){$max=1000; $a_max=1000; $a_min=0;} //관리자는 기본세팅
$bar = (int)($a_min / $a_max * 100);
if($bar > 100) $bar = 0;
$graph = $bar."%"; //등급, 경험치바 표시
if($level == 0){$level = "--";} // 레벨값을 이용해 레벨대신 표시
//if($level == 60){$level = "admin";} // 레벨값을 이용해 레벨대신 표시
if($option == 1){
echo "<table border='0' cellspacing='0' cellpadding='0'><tr><td><table width='62' border='0' cellspacing='0' cellpadding='0' background='$g4[path]/img/exp_bar.gif'><tr height='1'><td colspan='3'></td></tr><tr height='5'><td width='1'></td><td width='60'><img src='$g4[path]/img/exp_in.gif' width='$graph' height='5'></td><td width='1'></td></tr><tr height='1'><td colspan='3'></td></tr></table></td><td> <span style='color:#479b11; font-size:10px; font-family:돋음; vertical-align:1px;'><span style='font-size:11px;font-weight:bold;'></span>Exp: $graph</span><td></tr></table>";
}
}
?>

exp_bar 함수도요

음??지금 방금 포함된 소스에 다 들어가있어요....모두 포함되어있습니다;;;
extend.level.php파일에서 먼저 읽어들인후에
<div style="float:left; padding-left:10px;">
<?=exp_bar($list[$i][mb_id],$mb[mb_point],1);?><?=$list[$i][mb_point]?></div>
<div style="float:right;"> 이걸로 뿌려주거든요.......
<?=$list[$i][mb_point]?><-이부분은 그냥 출력여부를 확인하기위해서 넣어두었습니다.
<?=exp_bar($list[$i][mb_id],$mb[mb_point],1);?><-이부분이 경험치바 출력함수입니다.
exp_bar의 값은 extend.level.php여기서 가져오구요...
extend.level.php파일에서 먼저 읽어들인후에
<div style="float:left; padding-left:10px;">
<?=exp_bar($list[$i][mb_id],$mb[mb_point],1);?><?=$list[$i][mb_point]?></div>
<div style="float:right;"> 이걸로 뿌려주거든요.......
<?=$list[$i][mb_point]?><-이부분은 그냥 출력여부를 확인하기위해서 넣어두었습니다.
<?=exp_bar($list[$i][mb_id],$mb[mb_point],1);?><-이부분이 경험치바 출력함수입니다.
exp_bar의 값은 extend.level.php여기서 가져오구요...

if ($list[$i][mb_id]) { //레벨 아이콘 표시 시작
$mb = get_member($list[$i][mb_id]);
}
이것을..
<div style="float:left; padding-left:10px;">
<?=exp_bar($list[$i][mb_id],$mb[mb_point],1);?><?=$list[$i][mb_point]?></div>
<div style="float:right;">
여기 상단에 넣어주세요.
$mb = get_member($list[$i][mb_id]);
}
이것을..
<div style="float:left; padding-left:10px;">
<?=exp_bar($list[$i][mb_id],$mb[mb_point],1);?><?=$list[$i][mb_point]?></div>
<div style="float:right;">
여기 상단에 넣어주세요.

아;;;정말 감사합니다...이렇게하니까...되네요;;;저 정말 죄송하지만...
왜 값을 못가져왔는지......원인을 알려줄수 없을까요;;;;
원인이 뭐고 왜 이렇게해서 해결이됬는지 좀 알려주세요;;이부분은 좀 무리일려나요;;;
왜 값을 못가져왔는지......원인을 알려줄수 없을까요;;;;
원인이 뭐고 왜 이렇게해서 해결이됬는지 좀 알려주세요;;이부분은 좀 무리일려나요;;;

상단에
if ($list[$i][mb_id]) { //레벨 아이콘 표시 시작
$mb = get_member($list[$i][mb_id]);
}
를 넣으시면
$list 루프가 돌지 않아서 저 값이 존재할 수가 없죠
exp_bar는 아이디와 포인트를 필요로 하는 함수인데
일반적으로 $list에 글쓴이 아이디는 저장을 하지만
글쓴이의 포인트는 저장하지 않죠
그래서 $mb = get_member($list[$i][mb_id]); 요 함수로 포인트를 가져오는겁니다
루프가 도는곳 안에 $list[$i][mb_id]가 존재하겠죠?
루프밖에있으면 아무 의미가없습니다
if ($list[$i][mb_id]) { //레벨 아이콘 표시 시작
$mb = get_member($list[$i][mb_id]);
}
를 넣으시면
$list 루프가 돌지 않아서 저 값이 존재할 수가 없죠
exp_bar는 아이디와 포인트를 필요로 하는 함수인데
일반적으로 $list에 글쓴이 아이디는 저장을 하지만
글쓴이의 포인트는 저장하지 않죠
그래서 $mb = get_member($list[$i][mb_id]); 요 함수로 포인트를 가져오는겁니다
루프가 도는곳 안에 $list[$i][mb_id]가 존재하겠죠?
루프밖에있으면 아무 의미가없습니다

아.....좋은 답변 너무나도 감사합니다..ㅠㅠ오늘 도와주셔서 너무나도 감사합니다..
궁금했던부분이 모두 해결되었습니다.
감사합니다.
궁금했던부분이 모두 해결되었습니다.
감사합니다.