포인트 랭킹에서 가입축하포인트는 제외하고 순위내는 방법이..

· 2013-09-01 (일) 16:25:08 · 696
아래와 같이 포인트랭킹 쓰고있는데요..
7일동안 활동포인트에 따라 이벤트를 진행하려고하는데..
가입축하포인트가커서..
가입한 사람만 상위로 노출되서요..
가입축하포인트 제외하고, 순수 글쓰는거랑 읽는거등으로 순위를 매길수있는 방법은없는건지요..
고수님들 부탁드리겠습니다...^^


<?
function sh_point_ranking($기간 = "7", $랭킹명수 = "10", $가입얼마이후 = "1") {
global $g4, $config;
/*
필요한 변수 셋팅
$기간 = 7; // 최근 며칠간 포인트 적립을 구할것이냐.
$랭킹명수 = 10; // 몇명이나?
*/
$회원가입얼마이후 = mktime(0, 0, 0, date("m"), date("d")-$가입얼마이후, date("Y"));
$회원가입얼마이후 = date("Y-m-d H:i:s",$회원가입얼마이후);
$선택기간 = mktime(0, 0, 0, date("m") , date("d")-$기간, date("Y"));
$선택기간 = date("Y-m-d H:i:s",$선택기간);
$sql =
"SELECT a.s_point, a.mb_id, {$g4['member_table']}.mb_nick
FROM (SELECT sum(po_point) as s_point, mb_id FROM `g4_point` WHERE po_datetime >= '{$선택기간}' GROUP BY mb_id ORDER BY s_point DESC)a
LEFT JOIN {$g4['member_table']} using(mb_id) WHERE {$g4['member_table']}.mb_datetime <= '{$회원가입얼마이후}' and {$g4['member_table']}.mb_id <> 'admin' LIMIT 0, {$랭킹명수}";
$result = sql_query($sql);
$temp_config = $config['cf_use_member_icon'];
unset($config['cf_use_member_icon']);
for ($i=1; $row=sql_fetch_array($result); $i++) {
$랭킹배열[$i]['name'] = cut_str(strip_tags($row['mb_nick']),6,"…");
$랭킹배열[$i]['point'] = number_format($row['s_point']);
}
$config['cf_use_member_icon'] = $temp;
$랭킹배열[1]['class'] = ' class="best"';
$랭킹배열[2]['class'] = ' class="best"';
$랭킹배열[3]['class'] = ' class="best"';
?>

<script type="text/javascript" src="<?=$g4['path']?>/js/sideview.js"></script>
<style type="text/css">
/* UI Object */
.section_ol{position:relative;border:0px solid #e4e4e4;font-size:12px;font-family:Tahoma, Geneva, sans-serif;line-height:normal;*zoom:1}
.section_ol a{color:#666;text-decoration:none}
.section_ol a:hover,
.section_ol a:active,
.section_ol a:focus{text-decoration:underline}
.section_ol em{font-style:normal}
.section_ol h2{margin:0;padding:10px 0 8px 10px;border-bottom:1px solid #ddd;font-size:12px;color:#333}
.section_ol h2 em{color:#FF3B60}
.section_ol ol{margin:10px;padding:0;list-style:none}
.section_ol li{position:relative;margin:0 0 10px 0;*zoom:1}
.section_ol li:after{display:block;clear:both;content:""}
.section_ol li .ranking{display:inline-block;width:14px;height:11px;margin:0 5px 0 0;border-top:1px solid #fff;border-bottom:1px solid #d1d1d1;background:#d1d1d1;text-align:center;vertical-align:top;font:bold 10px Tahoma;color:#fff}
.section_ol li.best .ranking{border-bottom:1px solid #f0761c;background:#FF3B60}
.section_ol li.best a{color:#FF3B60}
.section_ol li .num{position:absolute;top:0;right:0;font-size:11px;color:#a8a8a8;white-space:nowrap}
.section_ol li.best .num{color:#FF3B60}
.section_ol .more{position:absolute;top:10px;right:13px;font:11px Dotum, 돋움;text-decoration:none !important}
.section_ol .more span{margin:0 2px 0 0;font-weight:bold;font-size:16px;color:#d76ea9;vertical-align:middle}
/* //UI Object */
</style>
<!-- UI Object -->
<div class="section_ol" style="text-align:left;">
<h2>최근 <?=$기간?>일간 <em>랭킹</em></h2>
<ol>
<? for ($i=1; $i <= $랭킹명수; $i++) { ?>
<li <?=$랭킹배열[$i]['class']?>><span class="ranking"><?=$i?></span><?=$랭킹배열[$i]['name']?><span class="num"><?=$랭킹배열[$i]['point']?>점</span></li>
<? } ?>
</ol>
<!--span class="more"><?=$기간?>일간 누적</span-->
</div>
<!-- //UI Object -->
<?
} // end function
?>
|
댓글을 작성하시려면 로그인이 필요합니다.

그누4 질문답변

66,531건

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
13-09-01 조회 862
13-09-01 조회 1,038
13-09-01 조회 828
13-09-01 조회 1,829
13-09-01 조회 697
13-09-01 조회 1,640
13-09-01 조회 999
13-09-01 조회 1,674
13-09-01 조회 1,007
13-09-01 조회 1,358
13-09-01 조회 1,064
13-09-01 조회 1,057
13-09-01 조회 675
13-09-01 조회 1,803
13-08-31 조회 1,623
13-08-31 조회 874
13-08-31 조회 721
13-08-31 조회 864
13-08-31 조회 812
13-08-31 조회 1,050