PEAR探奇之PEAR::Pager_PHP
在页面上显示大量数据,是WEB项目中很常见的一个作法,但限于屏幕的大小,为了便于用户阅读,我们通常需要将数据分页显示,所以分页功能是大部份项目不可缺少的。PEAR::Pager是一个功能强大的分页类,使用非常方便。
系统需求:PHP4.3.* /PHP5,PEAR::Pager
PEAR::Pager有两种分页显示模式,一是Jumping,二是Sliding。两者有什么区别,我们来看两个例子:
Jumping.php
require_once 'Pager/Pager.php';
$params = array(
'mode' => 'Jumping',
'perPage' => 3,
'delta' => 5,
'itemData' => array('a','b','c','d','e','z','ty','xc','fg','fg','jk','hj','ty','xc','e','z','ty','xc','fg','fg','jk','hj','ty','xc')
);
echo "
当前分页模式:".$params['mode'];
echo "
每页显示数据条数:".$params['perPage'];
echo "
显示页数:".$params['delta'];
echo "
详细数据数组:";
print_r($params['itemData']);
$pager = & Pager::factory($params);
$data = $pager->getPageData();
$links = $pager->getLinks();
echo "
最后效果:";
echo $links['all'];
echo $pager->linkTags;
echo '
当前页的数据: ' ;
echo "
"; <br>print_r($data); <br>echo "
echo "其它类方法得到的数据:
";
echo 'getCurrentPageID()...: ';
var_dump($pager->getCurrentPageID());
echo "
";
echo 'getNextPageID()......: ';
var_dump($pager->getNextPageID());
echo "
";
echo 'getPreviousPageID()..: ';
var_dump($pager->getPreviousPageID());
echo "
";
echo 'numItems()...........: ';
var_dump($pager->numItems());
echo "
";
echo 'numPages()...........: ';
var_dump($pager->numPages());
echo "
";
echo 'isFirstPage()........: ';
var_dump($pager->isFirstPage());
echo "
";
echo 'isLastPage().........: ';
var_dump($pager->isLastPage());
echo "
";
echo 'isLastPageComplete().: ';
var_dump($pager->isLastPageComplete());
echo "
";
echo '$pager->range........: ';
var_dump($pager->range); echo "
";
?>
运行结果如下图:
Sliding.php
require_once 'Pager/Pager.php';
$month = 'september';
$params = array(
'mode' => 'Sliding',
'append' => false,
'urlVar' => 'num',
'path' => 'http://localhost/' . $month,
'fileName' => 'art%d.html', //%d将被替换成当前页的数字
'itemData' => array('a','b','c','d','e','z','ty','xc','fg','fg','jk','hj','ty','xc','e','z','ty','xc','fg','fg','jk','hj','ty','xc'),
'perPage' => 3
);
echo "
当前分页模式:".$params['mode'];
echo "
每页显示数据条数:".$params['perPage'];
echo "
链接指向路径:".$params['path'];
echo "
链接指向文件名:".$params['fileName'];
echo "
详细数据数组:";
print_r($params['itemData']);
$pager = & Pager::factory($params);
$data = $pager->getPageData();
echo "
最后效果:";
echo $pager->links;
echo '
当前页的数据: ' ;
echo "
"; <br>echo 'Data for current page: '; print_r($data); <br>echo "
echo "其它类方法得到的数据:
";
echo 'getCurrentPageID()...: ';
var_dump($pager->getCurrentPageID());
echo "
";
echo 'getNextPageID()......: ';
var_dump($pager->getNextPageID());
echo "
";
echo 'getPreviousPageID()..: ';
var_dump($pager->getPreviousPageID());
echo "
";
echo 'numItems()...........: ';
var_dump($pager->numItems());
echo "
";
echo 'numPages()...........: ';
var_dump($pager->numPages());
echo "
";
echo 'isFirstPage()........: ';
var_dump($pager->isFirstPage());
echo "
";
echo 'isLastPage().........: ';
var_dump($pager->isLastPage());
echo "
";
echo 'isLastPageComplete().: ';
var_dump($pager->isLastPageComplete());
echo "
";
echo '$pager->range........: ';
var_dump($pager->range); echo "
";
?>
运行结果如下图:
运行以上代码,可以发现,Jumping是跳跃式前进,一次翻几页,而Sliding是逐页地前进。
在例子中可以看到PEAR::Pager提供了很多类方法,可以返回我们所需要的数据,如当前页ID,下一页ID,当前页上数据条数等等。
下面将所有类方法的作用列出,供参考:
Pager::Pager() – 构造函数 参数为二维数组 详见上面的示例
Pager::factory() -- 建立一个Pager对象
Pager::getCurrentPageID() 返回当前页的ID
Pager::getLinks() 返回某个页所对应的链接 参数为页面的ID 参数为空则返回当前页的链接
Pager::getNextPageID() 返回下一页的ID
Pager::getOffsetByPageId() 返回记录范围
例如当前页为1,每页显示10条,则返回(1,10)
如当前页为2,每页显示8条,则返回(8,16)
Pager::getPageData() 以数组形式返回当前页数据
Pager::getPageIdByOffset() 根据记录范围返回页面ID
本方法仅当分页模式为Jumping时有效
Pager::getPageRangeByPageId() 返回某个页面所在的记录范围
例如模式为Jumping时,如果pageId=3 , delta=10,则返回(1,10),如果pageId=3 , delta=10,则仍然返回(1,10),因为1,3都在10的范围之内。如果pageId =14,则返回(10,20),
因为14落于10,20之间。
Pager::getPreviousPageID() 得到前一页的ID
Pager::getperpageselectbox() 返回一个XHTML的Select标签字符串
可用于直接跳转到某个页面
Pager::isFirstPage() 判断当前页是否第一页
Pager::isLastPage() 判断当前页是否最后第一页
Pager::isLastPageComplete() 判断是否到达最后一页
Pager::numItems() 返回总记录数
Pager::numPages() 返回总页数
其它功能及用法请参看PEAR::Pager文档:

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP のヒント: 前のページに戻る機能をすばやく実装する Web 開発では、前のページに戻る機能を実装する必要があることがよくあります。このような操作により、ユーザー エクスペリエンスが向上し、Web ページ間の移動が容易になります。 PHP では、いくつかの簡単なコードを通じてこの機能を実現できます。この記事では、前のページに戻る機能を素早く実装する方法と、具体的な PHP コード例を紹介します。 PHP では、$_SERVER['HTTP_REFERER'] を使用して前のページの URL を取得できます。

MySQL は、データの保存と管理に広く使用されているリレーショナル データベース管理システムです。新しいデータをデータベース テーブルに挿入する場合、通常は INSERT ステートメントを使用します。 MySQL では、INSERT ステートメントが実行されてデータが正常に挿入されると、挿入操作の結果である結果が返されます。この記事では、データを挿入した後に MySQL によって返される結果について詳しく説明し、いくつかの具体的なコード例を示します。 1. データを挿入した後に返される結果は MySQL にあり、正常に実行された場合

今日の急速な技術発展の時代では、雨後の筍のようにプログラミング言語が出現しています。多くの注目を集めている言語の 1 つは Go 言語です。Go 言語は、そのシンプルさ、効率性、同時実行の安全性などの機能により多くの開発者に愛されています。 Go 言語は、多くの優れたオープンソース プロジェクトがある強力なエコシステムで知られています。この記事では、厳選された 5 つの Go 言語オープンソース プロジェクトを紹介し、読者を Go 言語オープンソース プロジェクトの世界へ導きます。 KubernetesKubernetes は、自動化されたオープンソースのコンテナ オーケストレーション エンジンです。

「Go 言語開発の要点: 5 つの人気フレームワークの推奨事項」 高速で効率的なプログラミング言語として、Go 言語はますます多くの開発者に好まれています。開発効率を向上させ、コード構造を最適化するために、多くの開発者はフレームワークを使用してアプリケーションを迅速に構築することを選択します。 Go 言語の世界には、選択できる優れたフレームワークが数多くあります。この記事では、5 つの人気のある Go 言語フレームワークを紹介し、読者がこれらのフレームワークをよりよく理解して使用できるように、具体的なコード例を示します。 1.GinGin は高速な軽量 Web フレームワークです。

Vue を使用して前のページに戻る特殊効果を実装する方法 フロントエンド開発では、前のページに戻る必要がある状況によく遭遇します。戻るボタンを追加すると、より良いユーザー エクスペリエンスを提供できます。この記事では、Vue フレームワークを使用して前のページに戻る特別な効果を実現する方法を紹介し、対応するコード例を示します。まず、Vue プロジェクトで、前のページとしてページを作成する必要があります。 VueRouter を通じてルーティングを設定でき、各ルートはコンポーネントに対応します。前のページでは、戻るボタンを追加してクリック イベントを渡すことができます。

Laravel は、拡張性と効率性に優れた人気の PHP フレームワークであり、開発者が高品質の Web アプリケーションを迅速に構築できる強力なツールとライブラリを多数提供しています。その中でも、LaravelEcho と Pusher は、WebSocket 通信を簡単に実装できる 2 つの非常に重要なツールであり、この記事では、Laravel アプリケーションでこれら 2 つのツールを使用する方法について詳しく説明します。 WebSocket とは何ですか? Webソケット

PHP における echo キーワードの役割と使用法の詳細な説明 PHP は、Web 開発で広く使用されているサーバーサイド スクリプト言語です。 echo キーワードは、PHP でコンテンツを出力するために使用されるメソッドです。この記事では、echoキーワードの機能と使い方を詳しく紹介します。機能: echo キーワードの主な機能は、コンテンツをブラウザに出力することです。 Web 開発では、フロントエンド ページにデータを動的に表示する必要がありますが、このとき、echo キーワードを使用してデータをページに出力できます。 e

現在最も人気のある Go フレームワークは次のとおりです。 Gin: 軽量で高性能な Web フレームワークで、シンプルで使いやすいです。 Echo: 高性能のルーティングとミドルウェアを提供する、高速で高度にカスタマイズ可能な Web フレームワーク。 GorillaMux: 高度なルーティング構成オプションを提供する高速で柔軟なマルチプレクサー。 Fiber: 大量の同時リクエストを処理する、パフォーマンスが最適化された高性能 Web フレームワーク。 Martini: 豊富な機能セットを提供するオブジェクト指向設計のモジュール式 Web フレームワーク。
