채택완료

게시판 페이징을 다음페이지 클릭시 없는페이지로 이동

2015-07-07 (화) 11:34:27 5,021

0e3133b944290884de3f4ea23b73e6ec_1436236308_8876.jpg
 

갤러리 페이징을 달았습니다. 이전 다음 화살표를 클릭하면 한페이지씩 이동하게 만들었습니다.

http://sir.co.kr/qa/71164?stx=%EA%B2%8C%EC%8B%9C%ED%8C%90+%ED%8E%98%EC%9D%B4%EC%A7%95+%EB%8B%A4%EC%9D%8C&sst=wr_num&unanswered=0&s_tag= 

이 글을 참고해서 $cur_page 로 이동은 잘 됩니다. 1페이지에서 이전을 눌러도 더이상 이동이 안되는데

마지막 페이지인 3 페이지에서 다음버튼을 누르면 4페이지로 가네요.. 4페이지는 아무것도 없어요

빈화면으로 나오네요

현재 lib common.lib.php 소스 입니다.

Copy
// 한페이지에 보여줄 행, 현재페이지, 총페이지수, URLfunction get_paging($write_pages, $cur_page, $total_page, $url, $add=""){    //$url = preg_replace('#&amp;page=[0-9]*(&amp;page=)$#', '$1', $url);    $url = preg_replace('#&amp;page=[0-9]*#', '', $url) . '&amp;page=';     $str = '';    /*if ($cur_page > 1) {        $str .= '<a href="'.$url.'1'.$add.'" class="pg_page pg_start">처음</a>'.PHP_EOL;    }*/     $start_page = ( ( (int)( ($cur_page - 1 ) / $write_pages ) ) * $write_pages ) + 1;    $end_page = $start_page + $write_pages - 1;     if ($end_page >= $total_page) $end_page = $total_page;     $str .= '<a href="'.$url.($cur_page-1).$add.'" class="pg_page pg_prev">◀</a>'.PHP_EOL;     if ($total_page > 1) {        for ($k=$start_page;$k<=$end_page;$k++) {            if ($cur_page != $k)                $str .= '<a href="'.$url.$k.$add.'" class="pg_page">'.$k.'<span class="sound_only">페이지</span></a>'.PHP_EOL;            else                $str .= '<span class="sound_only">열린</span><strong class="pg_current">'.$k.'</strong><span class="sound_only">페이지</span>'.PHP_EOL;        }    }     $str .= '<a href="'.$url.($cur_page+1).$add.'" class="pg_page pg_next">▶</a>'.PHP_EOL;     /*if ($cur_page < $total_page) {        $str .= '<a href="'.$url.$total_page.$add.'" class="pg_page pg_end">맨끝</a>'.PHP_EOL;    }*/     if ($str)        return "<nav class=\"pg_wrap\"><span class=\"pg\">{$str}</span></nav>";    else        return "";}
|

답변 2개 / 댓글 1개

채택된 답변
+20 포인트
2015-07-07 (화) 17:16:55

28번째 라인

Copy
$str .= '<a href="'.$url.($cur_page+1).$add.'" class="pg_page pg_next">▶</a>'.PHP_EOL; ​

마지막페이지일때는 안나오게 하면 되겠죠?

Copy
if($cur_page>=$end_page)
{
$str .= '<a href="'.$url.($cur_page+1).$add.'" class="pg_page pg_next">▶</a>'.PHP_EOL; ​
}

하면 되지 않을까요

2015-07-07 (화) 11:37:20

관리자 > 게시판관리 > 게시판수정 > 게시판기본설정 > 카운트조정 

항목의 체크박스에 체크하시고 확인 버튼 클릭해 보세요.^^

답변에 대한 댓글 1개

답변 감사합니다. 해봤는데 또 4페이지 넘어가네요 ㅠㅠ

답변을 작성하려면 로그인이 필요합니다.