ホームページ php教程 php手册 PHP函数实现分页含文本分页和数字分页

PHP函数实现分页含文本分页和数字分页

Jun 06, 2016 pm 08:18 PM
関数 ページネーション 成し遂げる 番号 文章

分页功能是经常使用的一个功能,因此用PHP实现分页,文本分页和数字分页,对其以函数形式进行了封装

最近,,在项目中要用到分页。分页功能是经常使用的一个功能,所以,对其以函数形式进行了封装。

// 分页分装 /** * $pageType 分页类型 1是数字分页 2是文本分页 * 可以将$pageTotal,$page,$total等数据作为参数传递,或者在paging作为全局变量(推荐) */ function paging($pageType) { global $pageTotal,$page,$total; if($pageType == 1) { echo '

'; echo''; echo'
'; } else if($pageType == 2) { echo '
'; echo '
    '; echo '
  • '.$page.'/'.$pageTotal.'页 |
  • '; echo '
  • 共有'.$total .'个会员 |
  • '; // 第一页 if($page == 1) { echo '
  • 首页 |
  • '; echo '
  • 上一页 |
  • '; } else { // $_SERVER["SCRIPT_NAME"]获取当前的脚本名字,方便移植 // 也可以自定义常量,常量值和脚本文件名一致 echo '
  • 首页 |
  • '; echo '
  • 上一页 |
  • '; } // 最后一页 if($page == $pageTotal) { echo '
  • 下一页 |
  • '; echo '
  • 尾页 |
  • '; } else { echo '
  • 下一页 |
  • '; echo '
  • 尾页 |
  • '; } echo '
'; echo '
'; } }

参数解释:

$pageTotal是总页数,$page是当前页,$total是从数据库中获取的数据总数;

为了简化,将参数全部封装

// 分页参数分装 /** * $sql 可以 获取数据总数的一个sql语句 * $size 每一页显示条数 */ function pageParam($sql,$size) { // 将所有涉及的参数设置全局变量 // $pagestart 某一页从哪里开始 // $total 总记录数 $page 某一页 $pageTotal 总页数 global $pagestart,$pagesize,$total,$page,$pageTotal; $pagesize = $size; // 获取数据总数 $total = mysql_num_rows(queryDB($sql)); // 错误处理,先判断是否存在 if(isset($_GET['page'])) { // 具体某一页 $page = $_GET['page']; // 判断是否为空(0是空)/小于0/是否是数字 if(empty($page) || $page $pageTotal) { $page = $pageTotal; } // 当页从某一条记录开始 $pagestart = ($page - 1) * $pagesize; }

参数解释:

$pagestart是当页从某一条记录开始,$pagesize是每页显示的记录数

在使用中,先调用pageParam,再调用paging

/** * 第一个 可以 获取数据总数的一个sql语句 * 第二个 每一页显示条数 */ pageParam("select userid from user",2);

调用的位置根据具体情况选择,文本分页如下:

数字分页如下:

样式自行调整。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

golang 関数で新しい関数を動的に作成するためのヒント golang 関数で新しい関数を動的に作成するためのヒント Apr 25, 2024 pm 02:39 PM

golang 関数で新しい関数を動的に作成するためのヒント

C++ 関数の命名におけるパラメーターの順序に関する考慮事項 C++ 関数の命名におけるパラメーターの順序に関する考慮事項 Apr 24, 2024 pm 04:21 PM

C++ 関数の命名におけるパラメーターの順序に関する考慮事項

Java で効率的で保守しやすい関数を記述するにはどうすればよいでしょうか? Java で効率的で保守しやすい関数を記述するにはどうすればよいでしょうか? Apr 24, 2024 am 11:33 AM

Java で効率的で保守しやすい関数を記述するにはどうすればよいでしょうか?

Excel関数の公式の完全なコレクション Excel関数の公式の完全なコレクション May 07, 2024 pm 12:04 PM

Excel関数の公式の完全なコレクション

PHP で配列のページネーションを実装する最良の方法 PHP で配列のページネーションを実装する最良の方法 May 04, 2024 pm 02:39 PM

PHP で配列のページネーションを実装する最良の方法

C++ 関数例外の詳細: カスタマイズされたエラー処理 C++ 関数例外の詳細: カスタマイズされたエラー処理 May 01, 2024 pm 06:39 PM

C++ 関数例外の詳細: カスタマイズされたエラー処理

PHP 関数の実行効率を高める魔法の公式 PHP 関数の実行効率を高める魔法の公式 Apr 23, 2024 pm 10:21 PM

PHP 関数の実行効率を高める魔法の公式

オブジェクト指向プログラミングにおける golang 関数の役割 オブジェクト指向プログラミングにおける golang 関数の役割 Apr 26, 2024 am 09:24 AM

オブジェクト指向プログラミングにおける golang 関数の役割

See all articles