회원의 월별 포인트 적립 순위입니다. > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

회원의 월별 포인트 적립 순위입니다. 정보

회원의 월별 포인트 적립 순위입니다.

본문

회원의 월별 활동을 체크 하기 위해 만든
포인트 월별 순위 입니다.

처음에 멤버 테이블에 포인트를 사용하려고 했는데
잘못 알고 있는지 모르겠지만 그건 포인트의 총합을
가져오는것 같더라구요.

그래서 처음부터 포인트 테이블에 데이터를 뽑아서
처리 했습니다.
디자인 작업해서 스킨으로도 올리겠습니다.

더 간단하게나 좋은 의견있으면 고수님들의 추가 부탁 드리겠습니다.

-------------------------------------------------------
아래 소스를 point_rank.php로 만들어서 이용하시면 됩니다.

조건은 아래 내용을 기본조건으로 잡았습니다.

1. 월별 포인트 적립 순위
2. 레벨8이상인 관리자는 제외
3. 총 포인트가 3000포인트 이상인 회원만 인정

<?
include_once("./_common.php");
$g4[title] = "월별 포인트 적립 순위";
include_once("$g4[path]/head.sub.php");
echo "<script language=\"javascript\" src=\"$g4[path]/js/sideview.js\"></script>\n";

$nowdate = date("Y-m",time()); // 이번달
$sYear = substr($nowdate, 0, 4)."년";
$sMonth = substr($nowdate,5,2)."월";

$sql = "SELECT * , COUNT(B.mb_id ) AS count, SUM( B.po_point ) AS point
FROM g4_member as A
LEFT JOIN g4_point as B ON ( A.mb_id = B.mb_id AND A.mb_level < 8 AND A.mb_point >= 3000) where date_format(B.po_datetime,'%Y-%m') = '$nowdate' group by B.mb_id order by point desc LIMIT 0, 10 ";

$result = sql_query($sql);
?>

<table  width="450" cellpadding=0 cellspacing=0>
<tr><td colspan="4" bgcolor="#400080" align="center" style="padding:10px;font-size:14px;"><strong><font color="#ffffff"><?=$sYear?> <?=$sMonth?> 적립 포인트 순위(1위~5위)</font></strong></td></tr>
<tr bgcolor="#F0F0F0"><td width=50 height="30"><strong>순위</strong></td><td width=150><strong>닉네임</strong></td><td width=150><strong>이번달 적립 포인트</strong></td><td width=100>총 적립 포인트</td></tr>
<?
for ($i=1; $row=sql_fetch_array($result); $i++)
{
$name = get_sideview($row[mb_id], $row[mb_nick], $row[mb_email], $row[mb_homepage]);
$point = number_format($row[point]); //이번달 적립 포인트
$mb_point= number_format($row[mb_point]); //총 적립 포인트

echo "<tr><td height=30>$i</td><td>$name </td><td>$point</td><td>$mb_point</td></tr>";
}
?>
</table>

추천
5

댓글 12개

혹시 가입시 포인트 부여, 설문조사 참여시 포인트 부여 , 로그인 접속시 포인트 부여,를 제외 할 수 있는 방법 좀 알려주세요 ㅠㅠ
회원들이 못보게 하려면 코드를 좀 수정해야 하지만 아예 포인트 지급 안하는건 관리자모드에서 0으로 주면 되는데요?

아예 관련된 포인트 부여 종류 자체를 버리고 싶다는 말씀인가요?
가입시, 설문참여시, 로그인시 지급 되는 포인트를 제외하고 글쓰기로만 적립이 되게 하는 방법을 알고 싶습니다. ^^
관리자모드 기본환경설정에서요 기본설정 부분에 로그인시 포인트에 0으로 하시고 아래쪽에 회원가입설정 부분에 회원가입시 포인트 부분도 0으로 주시고, 회원 관리 부분의 투표관리 부분에서 생성하실때 포인트를 0으로 주시면 됩니다.
적용해 보았는데 좋네요.
조금 아쉬운 부분이 있다면, 방문자수도 오늘 방문자수와 어제 방문자수가 있듯이...
지난달 순위도 나왔으면 더 좋겠네요.
^^
오홍 이런 팁이 있을까 하고 왔는데 따끈한 팁이!!!!
^_^; 감사드립니다~

추가: 오 잘되고 좋네요 회원이 많은데도 부하가 크지 않아서 좋네요!
전체 3,313 |RSS
그누4 팁자료실 내용 검색

회원로그인

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