채택완료
포인트랭킹에서 관리자를 제외하고 싶습니다.
Copy
<? function sh_point_ranking($기간 = "30", $랭킹명수 = "10", $가입얼마이후 = "30") {global $g5, $config;/*필요한 변수 셋팅$기간 = 30; // 최근 며칠간 포인트 적립을 구할것이냐.$랭킹명수 = 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, {$g5['member_table']}.mb_nick FROM (SELECT sum(po_point) as s_point, mb_id FROM `g5_point` WHERE po_datetime >= '{$선택기간}' GROUP BY mb_id ORDER BY s_point DESC)a LEFT JOIN {$g5['member_table']} using(mb_id) WHERE {$g5['member_table']}.mb_datetime <= '{$회원가입얼마이후}' and {$g5['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'] = get_sideview($row['mb_id'], $row['mb_nick']); $랭킹배열[$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="<?=$g5['path']?>/js/sideview.js"></script><style type="text/css">/* UI Object */.section_ol{position:relative;border:1px solid #ddd;background:#fff;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 13px;border-bottom:1px solid #ddd;font-size:12px;color:#333}.section_ol h2 em{color:#cf3292}.section_ol ol{margin:13px;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 #6e87a5;background:#6e87a5}.section_ol li.best a{color:#7189a7}.section_ol li .num{position:absolute;top:0;right:0;font-size:11px;color:#a8a8a8;white-space:nowrap}.section_ol li.best .num{font-weight:bold;color:#7189a7}.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"> <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?>
어디를 바꿔줘야 하나요?
관리자가 자꾸 랭킹1등으로 출력이 되서요..
답변 3개 / 댓글 3개
채택된 답변
+20 포인트
and {$g5['member_table']}.mb_id <> 'admin'
위 부분이 관리자를 제외하는 코드입니다.
admin을 최고관리자 아이디로 변경하세요.
간단에게 한다면...
sql 절의 where 에 mb_level 이 10이 아닌사람만 가져오게 한다던지.
mb_id 를 적어서 아닌 사람만 가져온다든지...
쉅게 간다면요....
복잡하게 간다면, g5_config 테이블을 조인해서, 관리자 아이디를 가져와서, 해당하는 아이디를 제외하게 하면 되고요...
답변을 작성하려면 로그인이 필요합니다.