작성일 : 16-08-28 05:54
|
[PHP] php 페이징 function
|
|
|
글쓴이 :
조형래
 조회 : 4,411
|
http://blog.naver.com/qfwh/220097738481 [3058] |
<php 를 사용하여 페이징 기능 코딩하기>
소스는 그누보드를 참고했습니다.
디자인은 퍼블리싱에 맞게 코드를 약간 수정해주시면 됩니다.
일단 페이징에 사용되는 php 함수
//페이징 함수
function get_paging($write_pages, $cur_page, $total_page, $url, $add=""){
$str = "";
if ($cur_page > 1) {
$str .= "<a class='btn first' href='" . $url . "1{$add}'>처음</a>";
}
$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;
if ($start_page > 1) $str .= " <a class='btn prev' href='" . $url . ($start_page-1) . "{$add}'>이전</a>";
$str .= "<span class='pages'>";
if ($total_page > 1) {
for ($k=$start_page;$k<=$end_page;$k++) {
if ($cur_page != $k)
$str .= " <a class='page' href='$url$k{$add}' >$k</a>";
else
$str .= " <a class='page current' >$k</a>";
}
}
$str .= "</span>";
if ($total_page > $end_page) $str .= " <a class='btn next' href='" . $url . ($end_page+1) . "{$add}'>다음</a>";
if ($cur_page < $total_page) {
$str .= " <a class='btn last' href='$url$total_page{$add}'>맨끝</a>";
}
$str .= "";
return $str;
}
페이징 처리전 작성해야하는 코드
$sel_num = 10; //한페이지에 출력할 게시물 개수
$page = "";
$sql = "select count(*) as cnt from '테이블' where 1;
$rst = mysql_query($sql);
$cnt = mysql_fetch_array($rst);
$total_count = $cnt['cnt']; //페이징할 총 글수
$total_page = ceil($total_count/$sel_num); //전체페이지 계산
if(!$page){ $page = 1;} // 페이지가 없으면 1 페이지
$from_record = ($page - 1) * $sel_num; //시작열을 구함
함수를 실행!
$write_pages = get_paging($sel_num, $page, $total_page, "?page="); //함수를 실행
$sql = "select * from '테이블' where 1 order by id desc limit {$from_record}, {$sel_num}"; //DB SQL
마지막으로 페이징을 출력!
<? //버튼이 이미지일 경우!
$write_pages = str_replace("처음", "<img src='/pg_first.gif' alt='처음' />", $write_pages);
$write_pages = str_replace("이전", "<img src='/pg_prev.gif' alt='이전' />", $write_pages);
$write_pages = str_replace("다음", "<img src='/pg_next.gif' alt='다음' />", $write_pages);
$write_pages = str_replace("맨끝", "<img src='/pg_last.gif' alt='마지막' />", $write_pages);
?>
<?=$write_pages?> //이런식으로 출력하면 페이징 끝!
[출처] (PHP) 페이징(Pageing) 만들기..|작성자 푸른인연
|
|