[재질문].. 포인트순위 .. '페이징'과 관련.... > 그누4 질문답변

그누4 질문답변

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

[재질문].. 포인트순위 .. '페이징'과 관련.... 정보

[재질문].. 포인트순위 .. '페이징'과 관련....

본문

비슷한 글을 다시 올려 죄송합니다..근데..아무리해도 막히고 이해가 안되는 부분이 있어서
다시 글을 올립니다. (리플도움주신 'sjsjin'님께 감사드립니다.)

도움을 받아서 이래저래 하다가....일단 아래처럼 코드를 새로 수정했습니다.
- 수정이라기 보다 있는것을 이리저리 그냥 맞춰봤습니다 -_- ;;


[회원 포인트 순위 확인 : point_rank.php]


<?
// 상대 경로
$g4_path = "../gnuboard";; // 그누보드 경로지정
include_once("$g4_path/common.php");
include_once("$g4[path]/lib/latest.lib.php");

define("_CO_POINT_RANK_", TRUE);

$g4[title] = "";
$html_title ="포인트순위"; // 문서타이틀
include_once("head.php");
echo "<script language=\"javascript\" src=\"$g4[path]/js/sideview.js\"></script>\n";
?>

<? // 회원만 페이지를 볼수있도록 함
if (!$member[mb_id]) {
    echo "
    <script language='javascript'>
        alert('회원만 이용가능합니다.');
        history.go(-1);
    </script>";
    exit;
}
?>


<table align=center width=100% cellpadding=0 cellspacing=5 border=0 style='border=1px solid #cccccc'>
<tr><td valign=top colspan=2 class=lh>

<?
if ($member[mb_id]) // 최고관리자는 안보이게 처러 "$config[cf_admin]" <-- 관리자 아이디를 뜻함.
{
    $sql = " select count(mb_id) as cnt from $g4[member_table]
              where mb_id <> '$config[cf_admin]' and mb_point >= '$member[mb_point]' order by mb_point desc ";
    $row = sql_fetch($sql);
    echo "&middot; 현재 회원님의 포인트 순위는 대략(?) <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>&middot; 전체 포인트 : <B>".number_format($sum_point) . "점</b><br>";

?>
</td></tr>
</table>
<br>


<table align=center width=100% cellpadding=0 cellspacing=0 border=0>
<tr><td valign=top style='line-height:150%;'>

<? // 회원별 순위및 포인트내역

$sql = " select count(*) from $g4[member_table] ";
$row = sql_fetch($sql);
$total_count = $row[0];


$rows = 100;
$total_page  = ceil($total_count / $rows);  // 전체 페이지 계산
if ($page == "") { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함

$mod = 25;

//-- -----{위 수정} 최고관리자는 안보이게 처러
$sql = " select * from $g4[member_table]
          where mb_id <> '$config[cf_admin]' and mb_level < '5'
          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 style='line-height:150%;'>";
}

    $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 align=center width=95% class=box cellpadding=4 cellspacing=0 border=0 style='border=1px solid #cccccc'>";
echo "<tr height=30>";
    echo "<td height=20>$rank. $name</td>";
    echo "<td align=right><font color=#FF9900>{$point}점</font></td>";
    echo "</tr></table>";
    echo "<table><tr><td></td></tr></table>";
}


?>

</td></tr>
</table>


<?
$page = get_paging($config[cf_write_pages], $page, $total_page, "?point_rank.php&page=");
echo "<p><table width=100% cellpadding=0 cellspacing=0><tr><td align=center>$page</td></tr></table><br><br>";
?>

<? include_once("tail.php"); ?>

------------------------------------------------------------------------------------------------------------


위에서.....$total_count = $row[0];  <--- 이부분이 좀 문제가 있는거 같습니다.

$total_count = $row[0]; 을 그냥 적어서 화면을 보면 페이징이 안나타나고
$total_count = 500;  ... 이렇게 임의의 숫자를 넣어주면 페이징이 나타납니다.


위와 관련된 구문은 아래와 같습니다.

$sql = " select count(*) from $g4[member_table] ";
$row = sql_fetch($sql);
$total_count = $row[0];


전체회원수를 제대로 가져오지 못해서 생기는 문제인거 같은데
왜 이런 현상이 생기는지..뭐가 문제인지...좀 알려주세요..부탁드립니다.

Fatal error: Uncaught TypeError: mysqli_fetch_assoc(): Argument #1 ($result) must be of type mysqli_result, null given in /home/kagla/new-sir/old/lib/common.lib.php:2339 Stack trace: #0 /home/kagla/new-sir/old/lib/common.lib.php(2339): mysqli_fetch_assoc() #1 /home/kagla/new-sir/old/skin/board/v16/view.skin.php(795): sql_fetch_array() #2 /home/kagla/new-sir/old/bbs/view.php(403): include_once('...') #3 /home/kagla/new-sir/old/bbs/board.php(300): include_once('...') #4 {main} thrown in /home/kagla/new-sir/old/lib/common.lib.php on line 2339