월별 포인트 랭킹 순위를 사용하려고 합니다.
본문
월별 포인트 랭킹 순위를 사용하려고 합니다.
4버전에서 스킨을 찾아서 올려봤는데 잘 안되네요.
회원아이디와 총포인트 순위는 잘 나오는데요.
12월에 해당하는 붉은색 월별 포인트가 전부 0으로 나옵니다.
<?
include_once("./_common.php");
$g5[title] = "월별 포인트 적립 순위";
include_once(G5_PATH.'/head.sub.php');
//echo "<script language=\"javascript\" src=\".G5_PATH./js/sideview.js\"></script>\n";
$nowdate = date("Y-m",time()); // 이번달
$sYear = substr($nowdate, 0, 4)."년";
$sMonth = substr($nowdate,5,2)."월";
$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 < 1 AND A.mb_point >= 0) where date_format(B.po_datetime,'%Y-%m') = '$nowdate' group by B.mb_id order by point desc LIMIT 0, 10 ";
$result = sql_query($sql);
?>
<style type="text/css">
.title_font {font-size:9pt;color:#ffffff;}
</style>
<table width="330" cellpadding=0 cellspacing=0>
<tr>
<td align="center" style="padding:5px;color:#8b5aad;"><strong><?=$sYear?> <?=$sMonth?> 적립 포인트 실시간 순위(1위~10위)</strong> </td>
</tr>
<tr>
<td valign="top">
<table border="0" cellpadding="0" cellspacing="0">
<tr bgcolor="#8b5aad">
<td width="5"><img src="<?php echo G5_URL?>/img/rank/l_img.gif" border="0"></td>
<td width="40" height="52" align="center" class="title_font">순위</td>
<td width="120" class="title_font" align="center">닉네임</td>
<td width="80" class="title_font" align="right" style="padding-right:10px;">1월 적립<br> 포인트</td>
<td width="80" class="title_font" align="right" style="padding-right:10px;">총 적립<br> 포인트</td>
<td width="5"><img src="<?php echo G5_URL?>/img/rank/r_img.gif" border="0"></td>
</tr>
<?
$sql_common = " and mb_id != '{$config[cf_admin]}' ";
$rank_rows = 10; //출력 수
$sql = " select * from {$g5[member_table]} where mb_point > '{$row[mb_point]}' {$sql_common} order by mb_point desc, mb_today_login desc limit {$rank_rows} ";
$result = sql_query($sql);
for ($i=1; $row=sql_fetch_array($result); $i++)
{
$name = get_sideview($row[mb_id], $row[mb_nick], $row[mb_email], $row[mb_homepage]);
$point = number_format($row[point]);
$mb_point= number_format($row[mb_point]);
?>
<tr>
<td height="24"></td>
<td><img src="<?php echo G5_URL?>/img/rank/<?=$i?>.gif" border="0" align=absmiddle> <?if ($i<=5) echo "<img src=".G5_URL."/img/rank/".$i."_icon.gif align=absmiddle>";?></td>
<td align="center"><?=$name?></td>
<td align="right" style="padding-right:10px;color:#FF0000;"><?=$point?></td>
<td align="right" style="padding-right:10px;"><?=$mb_point?></td>
<td></td>
</tr>
<tr>
<td colspan="6" bgcolor="#d6d6d6" height="1"></td>
</tr>
<?}?>
</table>
</td>
</tr>
</table>
$row[point] 이부분인거 같은데 이걸 어떻게 고쳐야 하나요?
!-->!-->
답변 1
$sql_common = " and mb_id != '{$config[cf_admin]}' ";
$rank_rows = 10; //출력 수
$sql = " select * from {$g5[member_table]} where mb_point > '{$row[mb_point]}' {$sql_common} order by mb_point desc, mb_today_login desc limit {$rank_rows} ";
$result = sql_query($sql);
윗부분은 왜 넣으신 건가요? 저걸 삭제해야 정상 출력 될 겁니다.
월별 랭킹의 목적이라면 이건 필요 없는 부분인데요. 원본에도 없는 부분이고..
그리고 첫 sql 에서 A.mb_level < 1 이렇게 되어 있던데 1 레벨보다 작은 레벨이라면?
부등호가 반대로 돼야 하지 않을까요?
답변을 작성하시기 전에 로그인 해주세요.