랭킹에서 관리자 포인트 빼서 표시하기 정보
랭킹에서 관리자 포인트 빼서 표시하기
본문
목록에서 관리자는 제외했는데 총 포인트에서 관리자 포인트를 제하고 보여주고 싶습니다.
어느부분을 손봐야하나요??
<?
include_once("./_common.php");
$html_title = "R.a.n.k.";
$g4[title] = "" . $html_title;
include_once("./_head.php");
?>
<table style="width:540" align="center" cellpadding="3" cellspacing="0">
<tr><td valign=top colspan=2 class=lh>
<?
$check_c_level = "2"; // 사용가능 레벨 설정. ex) 2 이상만 보임
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 "· 현재 회원님의 포인트는 <B>".number_format($member[mb_point])."점</B> 이며, 순위는 <B>".number_format($row[cnt] + 1)."등</B> 입니다.<br />";
}
$sql = " select sum(mb_point) as sum_point from $g4[member_table]";
$row = sql_fetch($sql);
$sum_point = $row[sum_point];
echo "· 전체 포인트 : <b>".number_format($sum_point) . "점</b><br />";
echo "</td></tr>";
echo "<tr><td colspan=2><table width=100% align=center cellpadding=0 cellspacing=0>";
echo "<tr><td height=20 width=80 align=center bgcolor='#F2F2F2'>";
if ($member[mb_level] >= $check_c_level ){
echo "<form style='margin:0px;'><font color='#505050'>Nick</font></td><td><input type=text name='stx2' id='stx2' value='$stx2' class='ed'> <input type=submit value='검색'> <input type=button onclick=\"location.href='/point_rank.php'\" value='전체'></form>";
}else{
echo "<form style='margin:0px;'><font color='#505050'>Nick</font></td><td><input type=text name='stx2' id='stx2' value='$stx2' class='ed' readonly style=\"cursor:help;\" title=\"로그인 하셔야 검색이 가능합니다.\"> <input type=submit value='검색'></form>";
}
echo "</td></tr>";
echo "</table><br /></td></tr>";
echo "<tr><td valign=top width=50%>";
$where = " (1) ";
if ($stx2)
$where = " mb_nick like '%$stx2%' ";
$sql = " select count(*) as cnt from $g4[member_table] where $where ";
$row = sql_fetch($sql);
$total_count = $row[cnt];
$rows = 50;
$total_page = ceil($total_count / $rows); // 전체 페이지 계산
if ($page == "") { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
if ($page > 5) $page = 1;
$from_record = ($page - 1) * $rows; // 시작 열을 구함
$mod = 25;
$sql = " select * from $g4[member_table] where $where AND mb_leave_date='' AND mb_id <> '$config[cf_admin]' 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>";
if ($stx2)
{
$sqlx = " select count(mb_id) as cnt from $g4[member_table] where mb_point > '$row[mb_point]' AND mb_leave_date='' AND mb_id <> '$config[cf_admin]' order by mb_point desc ";
$rowx = sql_fetch($sqlx);
$rank = $rowx['cnt'] + 1;
}
else
$rank = number_format((($page - 1) * $rows) + $i + 1);
if ($member[mb_level] >= $check_c_level ){
$name = get_sideview($row[mb_id], $row[mb_nick], $row[mb_email], $row[mb_homepage], $row[mb_open]);
// echo "<script language=\"javascript\" src=\"../js/sideview.js\"></script>";
}else{
$name = "<span style=\"cursor:help;\" title=\"".$check_c_level."레벨 이상 사용가능합니다.\">{$row[mb_nick]}</span>";
}
$mb_point = $row['mb_point'];
$point = number_format($mb_point);
$p = "{$point}점";
echo "<table width=100% cellpadding=0 cellspacing=0><tr>";
echo "<td style=\"width:30;height:20;text-align:center;color:#555\">".substr(($rank+100),1)."</td>";
echo "<td style=\"width:80;height:20;text-align:center;font-weight:bold;color:#555\">$name</td>";
echo "<td> </td>";
echo "<td style=\"width:80;height:20;text-align:center;font-weight:bold;color:#555\">$p</td>";
echo "</tr>";
echo "<tr style=\"height:1;background-color:#ededed;\"><td></td><td></td><td></td><td></td></tr>";
echo "</table>";
}
?>
</td></tr>
</table>
<?
$page = get_paging($config[cf_write_pages], $page, $total_page, "?$qstr&stx2=$stx2&page=");
include_once("./_tail.php");
?>
댓글 전체
$sql = " select * from $g4[member_table] where $where AND mb_leave_date='' AND mb_id <> '$config[cf_admin]' order by mb_point desc, mb_today_login desc limit $from_record, $rows ";
$result = sql_query($sql);
total이 총 포인트인가요?
$sql = " select count(*) as cnt from $g4[member_table] where $where ";
$row = sql_fetch($sql);
$total_count = $row[cnt];
$where
여기에 조건을...삽입
mb_id <> '$config[cf_admin]' 부분이 관리자입니다.
특정 아이디일 경우 admin... master 또는 레벨로 제한하고자 한다면
mb_level < 9 9렙 이하... 등... 조건을 임의로 변경을 하시면 출력내역 중 해당 유저들은 조회에서 제외됩니다.
개인적으로....;; 사이트 접속자 많이 없나요?
단순한것이 좋습니다. 하나의 컨텐츠 출력하는데 쿼리를 몇번이나 한다는것은 사용자가 많을경우 mysql이 많이 힘들어 한다는것이고.. mysql 쿼리 응답이 느려질 경우 사이트 속도도 느려집니다