SIR 포인트 순위 프로그램 첨부합니다.
저희 회사 홈페이지에서 사용하는 포인트 순위 프로그램입니다.
<?
include_once("./_common.php");
define("_CO_POINT_RANK_", TRUE);
$html_title = "포인트순위";
$g4[title] = "" . $html_title;
include_once("./_head.php");
echo "<script language=\"javascript\" src=\"$g4[path]/js/sideview.js\"></script>\n";
?>
<table width=710 align=center>
<tr><td valign=top colspan=2 class=lh>
<?
if ($member[mb_id])
{
$sql = " select count(mb_id) as cnt from $g4[member_table]
where mb_point >= '$member[mb_point]' order by mb_point desc ";
$row = sql_fetch($sql);
echo "<br>· 현재 회원님의 포인트 순위는 대략(?) <B>".number_format($row[cnt])."등</B> 입니다.";
}
$sql = " select sum(mb_point) as sum_point from $g4[member_table]";
$row = sql_fetch($sql);
$sum_point = $row[sum_point];
echo "<br>· 전체 포인트 : <B>".number_format($sum_point) . "점</b><br><br>";
echo "</td></tr><tr><td valign=top width=50%>";
$sql = " select count(*) as cnt from $g4[member_table]";
$row = sql_fetch($sql);
$total_count = $row[cnt];
$rows = 50;
$total_page = ceil($total_count / $rows); // 전체 페이지 계산
if ($page == "") { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함
$mod = 25;
$sql = " select * from $g4[member_table]
order by mb_point desc, mb_today_login desc
limit $from_record, $rows ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{
if ($i && $i%$mod==0)
echo "</td><td valign=top>";
$rank = (($page - 1) * $rows) + $i + 1;
$name = get_sideview($row[mb_id], $row[mb_nick], $row[mb_email], $row[mb_homepage]);
$point = number_format($row[mb_point]);
echo "<table width=98% cellpadding=0 align=center class=box border=0><tr>";
echo "<td height=30>$rank. $name</td>";
echo "<td align=right><font color=777777>{$point}점</font></td>";
echo "</tr></table>";
echo "<table width=100%><tr><td></td></tr></table>";
}
?>
</td></tr>
</table>
<?
$page = get_paging($config[cf_write_pages], $page, $total_page, "?$qstr&page=");
echo "<p><table width=100% cellpadding=0 cellspacing=0><tr><td align=center>$page</td></tr></table><br><br>";
include_once("./_tail.php");
?>
<?
include_once("./_common.php");
define("_CO_POINT_RANK_", TRUE);
$html_title = "포인트순위";
$g4[title] = "" . $html_title;
include_once("./_head.php");
echo "<script language=\"javascript\" src=\"$g4[path]/js/sideview.js\"></script>\n";
?>
<table width=710 align=center>
<tr><td valign=top colspan=2 class=lh>
<?
if ($member[mb_id])
{
$sql = " select count(mb_id) as cnt from $g4[member_table]
where mb_point >= '$member[mb_point]' order by mb_point desc ";
$row = sql_fetch($sql);
echo "<br>· 현재 회원님의 포인트 순위는 대략(?) <B>".number_format($row[cnt])."등</B> 입니다.";
}
$sql = " select sum(mb_point) as sum_point from $g4[member_table]";
$row = sql_fetch($sql);
$sum_point = $row[sum_point];
echo "<br>· 전체 포인트 : <B>".number_format($sum_point) . "점</b><br><br>";
echo "</td></tr><tr><td valign=top width=50%>";
$sql = " select count(*) as cnt from $g4[member_table]";
$row = sql_fetch($sql);
$total_count = $row[cnt];
$rows = 50;
$total_page = ceil($total_count / $rows); // 전체 페이지 계산
if ($page == "") { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함
$mod = 25;
$sql = " select * from $g4[member_table]
order by mb_point desc, mb_today_login desc
limit $from_record, $rows ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{
if ($i && $i%$mod==0)
echo "</td><td valign=top>";
$rank = (($page - 1) * $rows) + $i + 1;
$name = get_sideview($row[mb_id], $row[mb_nick], $row[mb_email], $row[mb_homepage]);
$point = number_format($row[mb_point]);
echo "<table width=98% cellpadding=0 align=center class=box border=0><tr>";
echo "<td height=30>$rank. $name</td>";
echo "<td align=right><font color=777777>{$point}점</font></td>";
echo "</tr></table>";
echo "<table width=100%><tr><td></td></tr></table>";
}
?>
</td></tr>
</table>
<?
$page = get_paging($config[cf_write_pages], $page, $total_page, "?$qstr&page=");
echo "<p><table width=100% cellpadding=0 cellspacing=0><tr><td align=center>$page</td></tr></table><br><br>";
include_once("./_tail.php");
?>
첨부파일
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기
댓글 20개
말탄개미님의 질문과 나스카님의 답변, 그리고 루트님의 추가답변
마지막으로 바세린님의 추가 질문및 답변.......이 게시글 한방으로 원하는 모든 내용이 들어 있군요.... 모두 감사합니다^^
마지막 부분쯤에....
for ($i=0; $row=sql_fetch_array($result); $i++)
{
if ($i && $i%$mod==0)
echo "</td><td valign=top>";
$rank = (($page - 1) * $rows) + $i + 1;
$name = get_sideview($row[mb_id], $row[mb_name], $row[mb_email], $row[mb_homepage]);
(바로 위의 $row[mb_nick]을 $row[mb_name]으로 바꿔주면 실명으로 나오는군요.)
$point = number_format($row[mb_point]);
echo "<table width=98% cellpadding=0 align=center class=box border=0><tr>";
echo "<td height=30>$rank. $name</td>";
echo "<td align=right><font color=777777>{$point}점</font></td>";
echo "</tr></table>";
echo "<table width=100%><tr><td></td></tr></table>";
}
하나 질문을 하면....위 소스를 사용하면 회원 별명이 출력되는데 실명으로 출력하려면 어떻게 해야 하는지요?
가능한거 같은데... 대략순위가 나오네요....
제가 운영하는 사이트의 경우 제가 분명 1위인데 -_-;
대략 27위로 나옵니다.. ㅜㅜ
if ($member[mb_id])
{
$sql = " select count(mb_id) as cnt from $g4[member_table]
where mb_id <> '관리자아이디' and mb_point >= '$member[mb_point]' order by mb_point desc ";
$row = sql_fetch($sql);
echo "<br>· 현재 회원님의 포인트 순위는 대략(?) <B>".number_format($row[cnt])."등</B> 입니다.";
}
//65 ~ 70라인 정도
$sql = " select * from $g4[member_table]
where mb_id <> '관리자아이디'
order by mb_point desc, mb_today_login desc
limit $from_record, $rows ";
'$config[cf_admin]'
머리가 안돌아가는 바람에 아이디를 직접 입력하게 되었네요^^;
"관리자에게 메일/쪽지 보내기" 팁 올릴때 관리자를 입력해서 하도록 올렸더니.
http://www.sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=131
관리자님께서 곧바로 자주하는 질문에다가 디폴트를 불러서 처리하는것을 올리시더군요.
http://www.sir.co.kr/bbs/board.php?bo_table=g4_faq&wr_id=7
위에서
where mb_id <> '관리자아이디'
라는 것은 관리자가 아니라면... 순위에 나타내라... 뭐 그런 거 같은데...
만약 10등급 관리자가 아니라 같은 그룹의 8등급인 특정 아이디도 빼려면....??? 어떻게 하는 게 좋을까요?
where mb_id <> '관리자아이디, 빼려는 다른 아이디'
이렇게 하는 건 가능한가요?