페이징 디자인 > 그누4 질문답변

그누4 질문답변

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

페이징 디자인 정보

페이징 디자인

본문

lib>common.lib.php 파일입니다.
네비어 스타일입니다.

첫 화면에서 1~10글이 있는데 7번글을 선택하면 1~2번튼을 사라지고 10~12버튼이 나오도록 설정된 페이징 소스입니다.

우선 제가 원하는 기능은 거이 이루어 지고 있지만
문제점은 Prev & Next 버튼을 클릭했을 때 버튼 이동이 6단계 정도 점프를 하고 있습니다.

7번 게시글에서 Next 버튼을 클릭하면 13번 게시글로 이동합니다.
7번 게시글에서 Next 버튼을 클릭하면 8번 게시글로 이동하기 위해서 어디를 수정해야 하는지 알려주세요.

적용 테스트 Page :  http://leecon.nayana.com/bbs/board.php?bo_table=product&page=13&page=1

방긋님이 올려주신 소스입니다.
http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=22542&sca=&sfl=wr_subject&stx=%ED%8E%98%EC%9D%B4%EC%A7%95&sop=and

// 현재페이지, 총페이지수, 한페이지에 보여줄 행, URL
function get_paging($write_pages, $cur_page, $total_page, $url, $add="")
{
    $str = "";
    if ($cur_page > 1) {
        $str .= "<a href='" . $url . "1{$add}'><img src='$skin_path/img/comment/bg_page_left_on.gif' align='absmiddle' border='0'>&nbsp;&nbsp;First Page</a>";
        //$str .= "[<a href='" . $url . ($cur_page-1) . "'>이전</a>]";
    }

    // 기존 코드 주석처리   
    // $start_page = ( ( (int)( ($cur_page - 1 ) / $write_pages ) ) * $write_pages ) + 1;
    // $end_page = $start_page + $write_pages - 1;

    // 새로 추가된 코드
    if ($cur_page <= floor($write_pages/2)) {
          $start_page = 1;
          $end_page = $write_pages;
    }
    else {
          $start_page = $cur_page - floor($write_pages/2) + 1;
          if ($total_page-$start_page < $write_pages) {
              $start_page = $total_page-$write_pages+1;
              if ($start_page<1) $start_page = 1;
          }
          $end_page = $cur_page + floor($write_pages/2);
    }

    if ($end_page >= $total_page) $end_page = $total_page;

    if ($start_page > 1) $str .= "<a href='" . $url . ($start_page-1) . "{$add}'>Prev</a>";

    if ($total_page > 1) {
        for ($k=$start_page;$k<=$end_page;$k++) {
            if ($cur_page != $k)
                $str .= "<a href='$url$k{$add}'  class='numBox;'>$k</a>";
            else
                $str .= "<span class='sel'>$k</span>";
        }
    }

    if ($total_page > $end_page) $str .= "<a href='" . $url . ($end_page+1) . "{$add}'>NEXT</a>";

    if ($cur_page < $total_page) {
        //$str .= "[<a href='$url" . ($cur_page+1) . "'>다음</a>]";
        $str .= "<a href='$url$total_page{$add}'>Last Page&nbsp;&nbsp;<img src='$skin_path/img/comment/bg_page_right_on.gif' align='absmiddle' border='0'></a>";
    }
    $str .= "";

    return $str;
}

댓글 전체

제가 찾아서 수정했습니다.

Prev(이전버튼)
수정전  : "<a href='" . $url . ($start_page-1) . "{$add}'>Prev</a>";
수정후  : "<a href='" . $url . ($cur_page-1). "{$add}'>Prev</a>";

Next(다음버튼)
수정전 : "<a href='" . $url . ($end_page+1) . "{$add}'>NEXT</a>";
수정후 : "<a href='" . $url . ($cur_page+1). "{$add}'>NEXT</a>";
이렇게 수정하고 나니 제가 원하는 페이징 디자인이 완성되였습니다.

스타일시트는 활용팁에서 검색창에 페이징으로 검색후 가져다가 적용하시기 바랍니다.
네 맞아요 구지 필요 없더군요.

#pagingNew .numBox 는 살려 두시구요. 
이 부분이 사라지면 해당 페이징 부분 박스가 사라지는 같기도 하고 테스트 해 보세요.
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

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