Pear::Pager 클래스
1.설치방법
php 설치 디렉토리에서
pear install Pager
2.사용방법
require_once 'Pager/Pager.php'; .
사용방법은 인스턴스 생성시 파라메타로 설정값을 넘기면된다
3.사용예제
$params = array(
'mode' => 'sliding',
'perPage' => 10,
'delta' => 5,
'separator' => '',
'curPageLinkClassName' => 'current',
// 'curPageSpanPre' => '<span class="current">',
// 'curPageSpanPost' => '</span>',
'prevImg' => '« Previous',
'nextImg' => 'Next »',
'firstPagePre' => '',
'firstPagePost' => '',
'lastPagePre' => '',
'lastPagePost' => '',
'spacesBeforeSeparator' => 0,
'spacesAfterSeparator' => 0,
'totalItems' => 2180,
'altFirst' => 'Go to page 1',
'altPrev' => 'Go to Previous Page',
'altNext' => 'Go to Next Page',
'altLast' => 'Go to Last Page',
'altPage' => 'Go to page',
);
$pager =& Pager::factory($params);
$links = $pager->getLinks();
$page_range = $pager->getPageRangeByPageId();
$page_range = range($page_range[0], $page_range[1]);
$link = '';
if ($links['pages'] != '') {
if ($links['back'] != '') {
$link .= str_replace('<a href', '<a class="nextprev" href', $links['back']);
} else {
$link .= '<span class="nextprev">' . $pager->getOption('prevImg') . '</span>';
}
if ($links['first'] != '' && !in_array(1, $page_range)) {
$link .= $links['first'] . '<span>....</span>';
}
$link .= $links['pages'];
if ($links['last'] != '' && !in_array($pager->numPages(), $page_range)) {
$link .= '<span>....</span>' . $links['last'];
}
if ($links['next'] != '') {
$link .= str_replace('<a href', '<a class="nextprev" href', $links['next']);
} else {
$link .= '<span class="nextprev">' . $pager->getOption('nextImg') . '</span>';
}
}
echo $link;
이렇게 만들면 $links에 배열로된 링크가 만들어져 리턴된다.
*옵션
itemData [array] - 페이징에 사용할 내용 전체를 배열로 넣을수 있습니다. 그럼 배열의 총수가 total 이 되는거죠.
totalItems [integer]- itemData 에 내용전체를 넣지않고 페이징될 총 갯수만 설정할수 있습니다.
perPage [integer] - 한페이지에 글이 몇개인지.
delta [integer]- 페이지 번호를 몇개 보여줄지.
mode [string] "Jumping" or "Sliding" - 점핑은 보통 사용하는 페이징 방식이고 슬라이딩은 일정페이지 이상이 되면 현재 페이지가 항상 페이지 번호 중간에 나오는 방식입니다.(구글 결과페이지 참고)
httpMethod [string] "get" or "post" - 페이징 변수를 get,post로 넘길건지.
linkClass [string] - 페이징에 걸 스타일 시트
urlVar [string] "pageID" - 페이지 번호로 사용할 변수이름
altFirst [string]
altPrev [string]
altNext [string]
altLast [string]
altPage [string]
- 마우스 올렸을때 나타낼 문자열
prevImg [string] "<<"
nextImg [string] ">>" - 앞,뒤 링크 문자 혹은 이미지 아이콘으로 설정
separator [string] - 페이지 번호에 특정 문자,이미지를 추가할수 있습니다.
curPageLinkClassName [string] - 현재페이지 번호에 적용할 스타일 시트
firstPageText [string]
lastPageText [string] - 맨처음,맨끝 페이지 표시할때 사용할 문자열
extraVars [array] - 페이징 링크에 추가할 변수들 넣을수 있습니다.
*메소드
Pager::getCurrentPageID() -- 현재페이지 번호리턴
Pager::getLinks() -- 생성된 링크를 배열로 리턴
Pager::getNextPageID() -- 다음페이지 번호 리턴
Pager::getOffsetByPageId() -- 페이지에 해당하는 limit 리턴
Pager::getPageData() -- itemData에 전체 내용을 배열로 넣었을때 페이지에 해당하는 배열내용을 가져올수 있습니다.
Pager::getPreviousPageID() -- 이전 페이지 번호
Pager::getperpageselectbox ([integer $start = 5 [, integer $end = 30 [, integer $step = 5 [, boolean $showAllData = false [, string $optionText = '%d']]]]]) -- 페이지 바로가기 selectbox html 을 리턴합니다.


0