페이징 디자인 정보
페이징 디자인
본문
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'> 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 <img src='$skin_path/img/comment/bg_page_right_on.gif' align='absmiddle' border='0'></a>";
}
$str .= "";
return $str;
}
네비어 스타일입니다.
첫 화면에서 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'> 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 <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>";
이렇게 수정하고 나니 제가 원하는 페이징 디자인이 완성되였습니다.
스타일시트는 활용팁에서 검색창에 페이징으로 검색후 가져다가 적용하시기 바랍니다.
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
#pagingNew .numPrev
#pagingNew .numNext
는 필요없지 않나요..?
#pagingNew .numBox
#pagingNew .numPrev
#pagingNew .numNext
는 필요없지 않나요..?

네 맞아요 구지 필요 없더군요.
#pagingNew .numBox 는 살려 두시구요.
이 부분이 사라지면 해당 페이징 부분 박스가 사라지는 같기도 하고 테스트 해 보세요.
#pagingNew .numBox 는 살려 두시구요.
이 부분이 사라지면 해당 페이징 부분 박스가 사라지는 같기도 하고 테스트 해 보세요.