랭킹에서 관리자 포인트 빼서 표시하기 > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

랭킹에서 관리자 포인트 빼서 표시하기 정보

랭킹에서 관리자 포인트 빼서 표시하기

본문

목록에서 관리자는 제외했는데 총 포인트에서 관리자 포인트를 제하고 보여주고 싶습니다.
어느부분을 손봐야하나요??

<?
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 쿼리 응답이 느려질 경우 사이트 속도도 느려집니다
© SIRSOFT
현재 페이지 제일 처음으로