웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
외부 페이지 작업시 페이징 작업 함수
2014.08.12 04:39
<?php
// 간단 구현 페이징
function page_nav($total,$scale,$p_num,$page,$query)
{
global $PHP_SELF;
$total_page = ceil($total/$scale);
if (!$page) $page = 1;
$page_list = ceil($page/$p_num)-1;
// 페이지 리스트의 첫번째가 아닌 경우엔 [1]...[prev] 버튼을 생성한다.
if ($page_list>0)
{
$navigation = "<a href='$PHP_SELF?page=1&$query'>[1]</a> ... ";
$prev_page = ($page_list)*$p_num;
$navigation .= "<a href='$PHP_SELF?page=$prev_page&$query'>[prev]</a>";
}
// 페이지 목록 가운데 부분 출력
$page_end=($page_list+1)*$p_num;
if ($page_end>$total_page) $page_end=$total_page;
for ($setpage=$page_list*$p_num+1;$setpage<=$page_end;$setpage++)
{
if ($setpage==$page) {
$navigation .= "<b>[$setpage]</b>";
} else {
$navigation .= "<a href='$PHP_SELF?page=$setpage&$query'>[$setpage]</a> ";
}
}
// 페이지 목록 맨 끝이 $total_page 보다 작을 경우에만, [next]...[$total_page] 버튼을 생성한다.
if ($page_end<$total_page)
{
$next_page = ($page_list+1)*$p_num+1;
$navigation .= "<a href='$PHP_SELF?page=$next_page&$query'>[next]</a> ";
$navigation .= "... <a href='$PHP_SELF?page=$total_page&$query'>[$total_page]</a>";
}
return $navigation;
}
?>
적용하실때는
<div id="paging" >
<?php
include "page.php";
$total_data=총 데이터수;
$num_per_page=페이지당 목록수;
$page_per_list=페이징 단위;
$query="mid=".$mid;
$nav=page_nav($total_data,$num_per_page,$page_per_list,$page,$query);
echo $nav;
echo ("<form action=$PHP_SELF>
<input name=mid type=hidden value='".$mid."'>
페이지 : <input type=text name=page size=4>
<input type=submit value='이동'></form>
");
?>
함수 입니다. 게시판이 아니고 모듈이나 기타 프로그램을 만들때 사용하시면 됩니다.
페이지넘김 같은 경우 함수를 만들어서 사용하시는게 편하다는 생각입니다.