포인트 랭킹에서 가입축하포인트는 제외하고 순위내는 방법이.. 정보
포인트 랭킹에서 가입축하포인트는 제외하고 순위내는 방법이..본문
아래와 같이 포인트랭킹 쓰고있는데요..
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
?>
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
?>
댓글 전체