본문 바로가기

php

php 회원 포인트점수 순위 랭킹 보여주는법

 

회원 디비에 쌓인 포인트가 많은 순서대로 보여주고 싶을 때 사용하는방법입니다.

 

아래 소스는 회원레벨이 19미만인 사람중에 높은 순서대로 10명을 뽑아

순서대로 보여주게 됩니다.

 

 

$select_rank = "select point, nik from bis_member_master where level < 19 order by point DESC limit 0, 10";
$result_rank = mysql_query($select_rank);

 

for($i=0; $i< 10; $i++){
  $rec=mysql_fetch_array($result_rank);
  $rank_num = 1+$i;

echo "순위".$rank_num."위 ".$rec[nik]."<br>";

}

 

 

echo 부분을 디자인에 맞게 수정해서 적용하시면되요.

 

실제로 출력을 해보면

순위1 닉네임1

...중략...

순위9 닉네임9

순위10 닉네임10

 

 

원하는 데이터에 따라 포인트점수 자체를 보여줄수도 있고 이름이나 기타 정보도 함께 출력하시면됩니다.

 

select * 이 아닌 select point,nik 으로 하는 이유는

쿼리 속도를 향상시키기 위함이니 처음 php 공부하시는분들은 참고해주세요.

 

포인트를 운영할만큼의 규모의 커뮤니티 사이트라면 데이타 처리 속도도 매우 중요하니까

db index를 설정해서 튜닝해줄 필요가 있습니다.