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을 최고관리자 아이디로 변경하세요.
답변에 대한 댓글 1개
빨간망토의비밀
2017-05-25 (목) 16:40:03
간단에게 한다면...
sql 절의 where 에 mb_level 이 10이 아닌사람만 가져오게 한다던지.
mb_id 를 적어서 아닌 사람만 가져온다든지...
쉅게 간다면요....
복잡하게 간다면, g5_config 테이블을 조인해서, 관리자 아이디를 가져와서, 해당하는 아이디를 제외하게 하면 되고요...
답변에 대한 댓글 1개
독학하는초보자
2017-05-25 (목) 17:49:20
제가 검색하면서 where 부분도 많이 찾았는데, 제 코드에서 어딜 수정해야 하는지도 모르는 초보자라서요..ㅠㅠ
그래도 문제는 해결하였습니다!! 답변 감사해요..^^
그래도 문제는 해결하였습니다!! 답변 감사해요..^^
2017-05-25 (목) 16:37:32
echo $sql;
쿼리문찍어보시고 해당 쿼리문 db툴에서 실행해보세요
쿼리상으로는 admin이라는 id를 가져오지 않도록 되어있는것 같습니다.
답변에 대한 댓글 1개
독학하는초보자
2017-05-25 (목) 17:48:38
제가 쿼리문 이런거 잘 볼줄 모릅니다..ㅠㅠ
문제는 해결하였습니다. ^^ 답변감사해요!!!
문제는 해결하였습니다. ^^ 답변감사해요!!!
답변을 작성하려면 로그인이 필요합니다.