제발 답변해주세요 T-T 최신글 페이징! > 그누4 질문답변

그누4 질문답변

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

제발 답변해주세요 T-T 최신글 페이징! 정보

제발 답변해주세요 T-T 최신글 페이징!

본문

 
 
벌써 몇일쨰 고생하고 있는지 모르겠습니다. ㅠ_ㅠ
최신글을 다량으로 뽑고 있는데, 입주한 호스팅사에서 스크립트당 할당된
메모린가 뭐시긴가가 8M밖에 되질 않아서 자꾸 막힙니다.
 
그래서 말인데요, 만약 최신글을 2000개 정도 뽑고, 한페이지당 100개씩 정도만
보이고 나머지는 페이징되게 처리하면 할당 메모리에 무리가 가지 않을까요?
그러니까, 최신글에 페이징하면 페이징한만큼 서버에 무리가 덜 가는것인가..가
궁금합니다.
 
고수님들, 답변 꼭 좀 부탁드리겠습니다.
너무 질문만해서 포인트도 바닥이지만.. 있는만큼 다 겁니다.
 
추운데 건강 조심하시구요. ^^
 

댓글 전체

페이징 구현 힌트만 말할게요.

구누보드수정할 소스.
1. function latest($skin_dir="", $bo_table, $rows=10, $subject_len=40, $options="")
==>> gnuboard/bbs/list.php  페이지별 글 뽑기...참고.

    $sql = " select distinct wr_parent from $write_table where $sql_search ";
    $result = sql_query($sql);
    $total_count = mysql_num_rows($result);

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



2. 페이지 이미지 출력
latest.skin.php  수정. (참고 페이지  list.skin.php 페이징 구현)

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

1. 어떤 테이블에서 페이지별 뽑기..

  $db  = db_connect();

  $query="select count(*) from $m_table";
  $total = @$db->query($query);
  if (!$total)
{
  $msg = "테이블이 없습니다..\\n\\n 관리자에게 문의하세요.";
  alert ($msg);
      exit;
  }

 
  $total= $total->fetch_array();
  $total=$total["count(*)"];

  // 목록에 보여줄 페이지수  기본 10 으로 설정하였음
  $page=10;
  $pagesu=ceil($total/$page);
  $start=($page*$pagenum);

  $query = "select * from $m_table order by $m_id desc limit $start,$page";
  $result01 = @$db->query($query);


2. 페이지 이미지 출력

  //PAGE START
    $pageviewsu=5;
    $pagegroup=ceil(($pagenum+1)/$pageviewsu);
    $pagestart=($pageviewsu*($pagegroup-1))+1;
    $pageend=$pagestart+$pageviewsu-1;

      if($pagegroup>1)
      {
    $prev=$pagestart-$pageviewsu-1;//이전목록그룹의 시작페이지결정
      echo"[<a href=$mpath/mbasic_list.php?m_table=$m_table&pagenum=$prev>first</a>] ";
      }

      if($pagenum)
      {
    $prevpage=$pagenum-1;
      echo"[<a href=$mpath/mbasic_list.php?m_table=$m_table&pagenum=$prevpage>FIRST</a>] ";
      }

      for($i=$pagestart;$i<=$pageend;$i++)
      {
      if($pagesu<$i){break;}
      $j=$i-1;
      if($j==$pagenum){echo "$i ";}
      else{echo "[<a href=$mpath/mbasic_list.php?m_table=$m_table&pagenum=$j>$i</a>] ";}
      }

      if(($pagenum+1)!=$pagesu){
      $nextpage=$pagenum+1;
      echo"[<a href=$mpath/mbasic_list.php?m_table=$m_table&pagenum=$nextpage>END</a>] ";
      }

      if($pageend<$pagesu){echo"[<a href='.$mpath.'/mbasic_list.php?m_table=$m_table&pagenum=$pageend>end</a>] ";}

      echo"</td></tr></table>";
     


    $db->close();

===================================================================

 성공하시길 바래요. ^^
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

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