首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PEAR Pager 分頁類完整教學:基本用法、URL 重寫與擴展應用

     編輯:PHP 綜合知識

簡介

PEAR Pager 是功能強大、彈性極高的 PHP 分頁類,支援多種分頁模式、自訂連結格式,能滿足各種專案需求。

基本用法(範例 1)

<?php
require_once 'Pager/Pager.php';

$params = array(
    'mode'     => 'Jumping',   // 或 'Sliding'
    'perPage'  => 3,           // 每頁筆數
    'delta'    => 2,           // 顯示頁碼範圍
    'itemData' => array('a','b','c','d','e', /* ... */ 'z')
);

$pager = & Pager::factory($params);
$data  = $pager->getPageData();   // 當前頁資料
$links = $pager->getLinks();      // 取得連結陣列

// $links 包含: back, pages, next, first, last, all
echo $links['all'];               // 輸出所有分頁連結
echo $pager->linkTags;            // 輸出 <link rel="first|prev|next|last"> 標籤

echo 'PAGED DATA: '; print_r($data);

// 常用方法
echo 'Current Page: '; var_dump($pager->getCurrentPageID());
echo 'Next Page: ';   var_dump($pager->getNextPageID());
echo 'Prev Page: ';   var_dump($pager->getPreviousPageID());
echo 'Total Items: '; var_dump($pager->numItems());
echo 'Total Pages: '; var_dump($pager->numPages());
?>

配合 URL Rewrite(範例 2)

若使用 Apache Rewrite 將動態網址偽靜態化,例如:

RewriteRule ^articles/([a-z]{1,12})/art([0-9]{1,4})\.html$ /article.php?num=$2&month=$1 [L]

Pager 可透過 urlVar 參數適配:

<?php
require_once 'Pager/Pager.php';

// 第一個分頁器
$params1 = array(
    'perPage' => 3,
    'urlVar'  => 'pageID_articles', // 第一個識別碼
    'itemData' => $someArray
);
$pager1 = & Pager::factory($params1);
$data1  = $pager1->getPageData();
$links1 = $pager1->getLinks();

// 第二個分頁器(同頁多組分頁)
$params2 = array(
    'perPage' => 8,
    'urlVar'  => 'pageID_news',     // 第二個識別碼
    'itemData' => $someOtherArray
);
$pager2 = & Pager::factory($params2);
$data2  = $pager2->getPageData();
$links2 = $pager2->getLinks();
?>

透過參數配置,即可將 /articles/march/art15.html 對應至 /article.php?num=15&month=march。

擴展性

Pager 可繼承擴充,例如自訂 Pager::Pathing() 實現路徑式分頁,滿足特殊 SEO 需求。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved