포인트 랭킹 중 1위만 뽑아오는 코드인데, 짧고 빠르게 수정 가능할까요?

포인트 랭킹 중 1위만 뽑아오는 코드인데, 짧고 빠르게 수정 가능할까요?

QA

포인트 랭킹 중 1위만 뽑아오는 코드인데, 짧고 빠르게 수정 가능할까요?

본문


  <?php
   $point_sql = "SELECT DISTINCT t1.mb_id, t1.mb_point, t1.mb_nick, t1.mb_level, COUNT(t1.mb_id) AS ranking
   FROM {$g5['member_table']} t1, {$g5['member_table']} t2
   WHERE (t1.mb_point < t2.mb_point
   OR t1.mb_id = t2.mb_id) AND t1.mb_level < 9
   GROUP BY t1.mb_id
   ORDER BY ranking
   LIMIT 0 , 1";
   $point_que = sql_query($point_sql);
   while($point_row = sql_fetch_array($point_que)){
    $tmp_member = sql_fetch("select mb_id, mb_nick, mb_email, mb_homepage from {$g5['member_table']} where mb_id = '".$point_row['mb_id']."'");
   ?>
    <?php echo $point_row['mb_nick'] ?>님, <?=number_format($point_row['mb_point'])?> 포인트 보유 중.
  <? } ?>

 

사이드뷰는 사용하지 않습니다.

이 sql문과 반복문을 짧고 간략하게 코드 수정 가능할까요??

이 질문에 댓글 쓰기 :

답변 3

이렇게 하면 되겠네요~~~~

<?php
$point_sql = "select mb_id, mb_nick from {$g5['member_table']} where mb_level < 9 order by mb_point desc limit 1 " ;
$point_row = sql_fetch($point_sql);
echo $point_row['mb_nick'] ?>님, <?php echo number_format($point_row['mb_point'])?> 포인트 보유 중.

그누보드의 기능이 변형되지 않은것이라면 

아주 간단하게 추출가능합니다.

sql문만 


$sql = "select * from {$g5['member_table']}
          order by mb_point desc
          limit 1 " ;

현재 존재하는 포인트의 잔액중 최고치를 역순으로 (가장 많은순) 뽑아서 

처음것 1개만 추출하는겁니다.

 

만약 1~10 을뽑으려면

limit 10 하시면 되겟죠

답변을 작성하시기 전에 로그인 해주세요.
전체 123,663 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT