RSS구독하기:SUBSCRIBE TO RSS FEED
즐겨찾기추가:ADD FAVORITE
글쓰기:POST
관리자:ADMINISTRATOR
Languages/PHP  2009/05/27 19:25

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' => '&#171; Previous',
'nextImg' => 'Next &#187;',
'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 을 리턴합니다.

http://pear.php.net/manual/en/package.html.pager.php

이올린에 북마크하기
2009/05/27 19:25 2009/05/27 19:25
http://jiny.kr/trackback/425
전체 (406)
지니소식 (4)
자료실 (4)
정보|뉴스 (5)
SmartPhone (1)
Languages (206)
Server (153)
Database (27)
Design (4)
Gallery (0)
분류하기귀찬.. (2)
«   2012/02   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29      
  1. 창의력과 상상력을 넘어서  2009
    Tomcat 6.0 기본 환경 설정
  2. 닥공  2009
    서블릿 tomcat 6.0 실행시 에러
  1. 2010/07 (1)
  2. 2010/05 (1)
  3. 2010/02 (3)
  4. 2010/01 (3)
  5. 2009/05 (2)
Statistics Graph