<?php
$page = $_REQUEST["page"];
if(!$page) $page = 1;
$total_num = 151; // 전체 레코드수
$pagesize = 10; // 페이지 당 뿌릴 레코드 수
$pagePerBlock = 10; // [1] ~ [10] 까지 한번에 10개씩
$search = "&search=문자"; //GET 방식으로 추가 문자열을 넣는다
function handlePage($total_num,$pagesize,$pagePerBlock,$page,$search){ // 전체레코드, 페이지당 레코드수(10) , 블럭당페이지수(10), 현재페이지
$totalNumOfPage = ceil($total_num/$pagesize); //16page
$totalNumOfBlock = ceil($totalNumOfPage/$pagePerBlock); //2block
$currentBlock = ceil($page/$pagePerBlock); // 1page
$startPage = ($currentBlock-1)*$pagePerBlock+1; // 1page
$endPage = $startPage+$pagePerBlock -1; // 10page
if($endPage > $totalNumOfPage) $endPage = $totalNumOfPage;
//NEXT,PREV 존재 여부
$isNext = false;
$isPrev = false;
if($currentBlock < $totalNumOfBlock) $isNext = true;
if($currentBlock > 1) $isPrev = true;
if($totalNumOfBlock == 1){
$isNext = false;
$isPrev = false;
}
if($isPrev){
$goPrevPage = $startPage-$pagePerBlock; // 11page
echo "<a href=\"$PHP_SELF?page=$goPrevPage$search\">◀</a>";
}else{
echo "◀";
}
for($i=$startPage;$i<=$endPage;$i++){
if($page==$i){
echo "<b>[".$i."]</b>";
}else{
echo "<a href=\"$PHP_SELF?page=$i$search\">[".$i."]</a>";
}
}
if($isNext){
$goNextPage = $startPage+$pagePerBlock; // 11page
echo "<a href=\"$PHP_SELF?page=$goNextPage$search\">▶</a>";
}else{
echo "▶";
}
}
handlePage($total_num,$pagesize,$pagePerBlock,$page,$search);
?>
'인터넷정보' 카테고리의 다른 글
간단한 페이징 소스 (0) | 2007.10.11 |
---|---|
nuSoap을 이용한 서버간의 파일전송 (0) | 2007.10.11 |
nuSoap을 이용한 서버간의 파일전송 (0) | 2007.10.11 |
로딩바 로딩중입니다 표시하기 (0) | 2007.10.11 |
로딩바 로딩중입니다 표시하기 (0) | 2007.10.11 |
페이징 (0) | 2007.10.11 |
php에서 첨부파일이 포함된 메일 보내기 함수 (0) | 2007.10.11 |
php에서 첨부파일이 포함된 메일 보내기 함수 (0) | 2007.10.11 |
문자열에서 한글과 영문자만 골라내기 (0) | 2007.10.11 |
문자열에서 한글과 영문자만 골라내기 (0) | 2007.10.11 |