월간포인트랭크 다시 질문 올려요. 채택완료
재미니다
5년 전
조회 4,162
https://www.happyjung.com/lecture/2794?page=6" rel="nofollow">https://www.happyjung.com/lecture/2794?page=6
해피정님의 월간 포인트랭크 게시물을 보고 적용해보았는데요...
포인트 출력부분은 정상적으로 표기가 되는 것 같은데
닉네임란이 공백으로 출력됩니다.
아래 코드입니다.
</p>
<p><table width="100%">
<?php
$rank_nowdate = date("Y-m",time()); // 이번달
$rank_sql = "select * , count(B.mb_id) as count, sum(B.po_point) as point from {$g5['member_table']} as A
left join {$g5['point_table']} as B
on (A.mb_id = B.mb_id and A.mb_level < 10 and A.mb_point >= 0)
where date_format(B.po_datetime,'%Y-%m') = '{$rank_nowdate}'
group by B.mb_id order by point desc LIMIT 0, 10
";
$rank_result = sql_query($rank_sql);
//echo $rank_sql;
?>
<tr>
<td colspan="3" style="text-align:center; background-color:#39F; font-size:1.2em; font-weight:bold; color:#fff; line-height:30px; padding:3px 0;">
포인트 순위
<span style="font-size:0.9em;">(<?php echo substr($rank_nowdate, 0, 4)."년"; ?> <?php echo substr($rank_nowdate,5,2)."월"; ?>)</span>
</td>
</tr>
<?php
for ($i=1; $rank_row=sql_fetch_array($rank_result); $i++)
{
$rank_member = sql_fetch("select mb_id, mb_nick, mb_email, mb_homepage from {$g5['member_table']} where mb_id = '".$row_rank['mb_id']."'");
$rank_sideview = get_sideview($tmp_member['mb_id'], cut_str($tmp_member['mb_nick'], $config['cf_cut_name']), $tmp_member['mb_email'], $tmp_member['mb_homepage']);
?>
<tr style="border-bottom:1px dotted #CCC;">
<td style="width:70px; text-align:center; line-height:26px;"><?php echo $i; ?></td>
<td><?php echo $rank_sideview; ?></td>
<td style="text-align:right; padding-right:20px;"><?php echo number_format($rank_row['mb_point']); ?></td>
</tr>
<?php
}
?>
</table></p>
<p>
초보인 제 생각으로는 for문에 $rank_sideview 이 변수를 못 읽어들이는거같아서
아는거 이것저것 다 해봤습니다만 닉네임이 뜨질 않습니다.
아래 코드는 기존에 정상적으로 사용중인 포인트랭크 코드입니다.
</p>
<p><?php</p>
<p> include_once "./_common.php";</p>
<p> $sql_common = " </p>
<p> from {$g5['member_table']} T1 ";</p>
<p> $sql_search = " where (1) ";</p>
<p> if($stx){</p>
<p> $sql_search .= " and (mb_nick like '%".$stx."%') ";</p>
<p> }</p>
<p> if (!$sst) {</p>
<p> $sst = "mb_point ";</p>
<p> $sod = "desc";</p>
<p> }</p>
<p> $sql_order = " order by {$sst} {$sod} ";</p>
<p> $sql = " select count(*) as cnt {$sql_common} {$sql_search} {$sql_order} ";</p>
<p> $row = sql_fetch($sql);</p>
<p> $total_count = $row['cnt'];</p>
<p> if($rows < 1) $rows = 5;</p>
<p> $total_page = ceil($total_count / $rows); // 전체 페이지 계산</p>
<p> if ($page < 1) $page = 1; // 페이지가 없으면 첫 페이지 (1 페이지)</p>
<p> $from_record = ($page - 1) * $rows; // 시작 열을 구함</p>
<p> //$sql = " select * {$sql_common} {$sql_search} {$sql_order} limit {$from_record}, {$rows} ";</p>
<p> $sql = " select * {$sql_common} {$sql_search} {$sql_order} limit 0, 50 ";</p>
<p> $result = sql_query($sql);</p>
<p>?></p>
<p> </p>
<p><?php</p>
<p> if ($member[mb_id]){ </p>
<p> include_once G5_LIB_PATH."/level_icon.lib.php"; </p>
<p> ?></p>
<p><?php } ?> </p>
<p><table></p>
<p> <tr></p>
<p> <td colspan="3" style="text-align:center; background-color:#39F; font-size:1.2em; font-weight:bold; color:#fff; line-height:30px; padding:3px 0;"></p>
<p> 전체 포인트 TOP 50</p>
<p> </td> </p>
<p> </tr></p>
<p> <tr class="rank_top"></p>
<p> <td class="rank_top_menu">순위</td></p>
<p> <td class="rank_top_menu">닉네임</td></p>
<p> <td class="rank_top_menu">포인트</td></p>
<p> </tr></p>
<p> <?php </p>
<p> $i = 0;</p>
<p> while($row = sql_fetch_array($result)){ </p>
<p> $arr = get_level_icon($row['mb_id']); </p>
<p> if($i == 0){</p>
<p> $standard = $row['mb_point'];</p>
<p> }</p>
<p> $width = $row['mb_point'] / $standard * 100;</p>
<p> if($width > 100) $width = 100;</p>
<p> $i++; </p>
<p> ?></p>
<p> <tr></p>
<p> <td><?php echo (($page-1) * $rows) + $i; ?>위</td></p>
<p> <td><img class="m_level_img" src="<?php echo G5_IMG_URL . "/level/" . "level_" . $arr['level']; ?>.png" /> <?php echo $row['mb_nick']; ?></td></p>
<p> <td class="point"><span><em style="width:<?php echo sprintf("%.1f", $width); ?>%"><?php echo $row['mb_point']; ?></em></span></td></p>
<p> </tr></p>
<p> <?php } ?></p>
<p> <?php if($i == 0){ ?></p>
<p> <tr></p>
<p> <td colspan="4">검색된 데이터가 업습니다.</td></p>
<p> </tr></p>
<p> <?php } ?></p>
<p></table></p>
<p>
두개를 비교하고 바꿔보고 해봤습니다만 잘 되지않아 이렇게 또 질문을 작성합니다.
월간랭크부분에서 닉네임이 출력되게 하려면 어떻게 수정을 해야하는지요...?
그누보드5.4.2입니다!
고수분들의 답변을 기다립니다!
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
채택된 답변
+20 포인트
5년 전
for ($i=1; $rank_row=sql_fetch_array($rank_result); $i++) { $rank_member = sql_fetch("select mb_id, mb_nick, mb_email, mb_homepage from {$g5['member_table']} where mb_id = '".$row_rank['mb_id']."'"); $rank_sideview = get_sideview($tmp_member['mb_id'], cut_str($tmp_member['mb_nick'], $config['cf_cut_name']), $tmp_member['mb_email'], $tmp_member['mb_homepage']);</pre> <p>
여기 부분을
</p> <p>for ($i=1; $rank_row=sql_fetch_array($rank_result); $i++) { </p> <p> $mb = get_member($rank_row['mb_id']); $rank_sideview = get_sideview($mb['mb_id'], $mb['mb_nick']); </p> <p>로 바꿔주세요.. 쪽지 보내드렸으니 참고하세요~
이제 퇴근 ~~ ㅠㅠ
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
재미니다
5년 전
감사합니다ㅜㅜ
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인