PHP实现分页:文本分页和数字分页

来源:http://www.ido321.com/1086.html

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

// 分页分装 /** * $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);

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

PHP实现分页:文本分页和数字分页

样式自行调整。

下一篇:Google Maps API显示地图的小示例

分类:默认分类 时间:2012-01-04 人气:1
本文关键词:
分享到:

相关文章

  • 确保php应用程序的安全-不能违反的四条安全规则 2012-01-01

    规则 1:绝不要信任外部数据或输入 关于 Web 应用程序安全性,必须认识到的第一件事是不应该信任外部数据。外部数据(outside data) 包括不是由程序员在 PHP 代码中直接输入的任何数据。在采取措施确保安全之前,来自任何其他来源(比如 GET 变量、表单 POST、数据库、配置文件、会话变量或 cookie)的任何数据都是不可信任的。 例如,下面的数据元素可以被认为是安全的,因为它们是在 PHP 中设置的。 清单 1. 安全无暇的代码 <?php $myUsername = t

  • 混血儿新生命--Java+PHP整合 2012-01-01

    最近才有时间处理此事,将此设想应用到现实应用程序中。 下面从两个方面讲解如何开发与发布。 示例:讲解java+php 开发模式,以菜单管理为例。 示例如下: 一:java 结构代码 java开发结构图如下: java 程序代码请看在下面上传文件,由于上传文件不能大于2M,所以用到的lib 没有上传,如需求,可留邮箱给我,我发给大家。 注:PHP和Java各有其语言内部定义的数据类型,当PHP数据传送到Java,或Java数据传送到PHP时,LAJP在内部自动地、准确地对他们进行转换,程序员无需进

  • PHP JSON_DECODE/JSON_ENCODE中文内容为NULL或乱码 2012-01-02

    可能用很多朋友使用json数据时利用php自带的函数JSON_DECODE/JSON_ENCODE处理中文内容时会碰到出现NULL或乱码问题,下面我来给大家介绍为什么会出现这样的问题。 例 代码如下 复制代码 <?php $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; var_dump(json_decode($json)); var_dump(json_decode($json, true)); ?> 输出结果 object(stdClass)

  • Linux系统中自带Mysql.Apache.Php卸载 2012-01-04

    卸载步骤如下: 卸载Mysql [[email protected] ~]# rpm -qa|grep mysql mod_auth_mysql-2.6.1-2.2 php-mysql-4.3.9-3.15 mysql-devel-4.1.20-1.RHEL4.1 mysql-4.1.20-1.RHEL4.1 mysqlclient10-3.23.58-4.RHEL4.1 libdbi-dbd-mysql-0.6.5-10.RHEL4.1 说明:rpm –qa | grep mysql 命令是为了把m

  • php云两处SQL二次注入 2012-01-04

    php云两处二次注入 最新版。两个注入点。顺带一个绕过waf的小技巧。 第一处:/member/model/index.class.php 39行 function index_action() { $this->public_action(); $this->member_satic(); $this->com_cache(); $resume = $this->obj->DB_select_once("resume","`uid`='".$this->ui

  • ubuntu系统中安装redis的方法以及PHP安装redis扩展.CI框架sess使用redis的方法 2012-01-04

    再一次被网上那些教程误导后决定自己写一个。真心被那些奇怪的教程误导了好几次,之前研究其它东西的时候也是。蛋疼啊。 安装redis 直接用apt-get命令即可 sudo apt-get install redis-server 安装的时候会询问你一个东西,输入Y就行。 安装完后会自动启动redis的服务,可以通过下面命令来查看进程是否已经启动。 ps -aux|grep redis 然后检查下redis服务的状态,看看是不是runing。 redis-server is running 安装PH

  • .user.ini文件构成的PHP后门 2012-01-09

    0x00 背景 这个估计很多同学看了不屑,认为是烂大街的东西了: .htaccess文件构成的PHP后门 那么我来个新的吧:.user.ini。它比.htaccess用的更广,不管是nginx/apache/IIS,只要是以fastcgi运行的php都可以用这个方法。我的nginx服务器全部是fpm/fastcgi,我的IIS php5.3以上的全部用的fastcgi/cgi,我win下的apache上也用的fcgi,可谓很广,不像.htaccess有局限性。 0x01 .user.ini 那么

  • php设置北京时间函数date_default_timezone_set() 2012-01-09

    php教程设置北京时间函数date_default_timezone_set() 定义和用法 date_default_timezone_set() 函数设置用在脚本中所有日期/时间函数的默认时区。 语法 date_default_timezone_set(timezone) <?php $now = time(); date_default_timezone_set('america/new york'); print date('c', $now); date_default_time

  • php正则表达式子模式的反向引用学习笔记 2012-01-09

    本文章给大家分享一篇php正则表达式子模式的反向引用学习笔记,希望此教程对各位朋友有帮助哦。 需要用正则表达式获取字符串的标题。标题标签是h1~h6。 使用正则表达式:"@<h([1-6])>(.*?)</h\\1>@"或者'<h([1-6])>(.*?)</h\1>@'。使用了@作为分隔符,注意单双引号的差别\\1与\1. 例1 代码如下 复制代码 <?php $str='<h1>php php php php php php1

  • php 表单提交长文章数据丢失问题解决方法 2012-01-10

    数据丢失对于小编来讲是个头痛的问题了,因为小编碰到表单提交大量数据发生丢失问题也是这几天了,但不是时尚而有时会丢失了,这个问题非常难解决,下面整理了一些解决办法,希望可以帮助到各位。 网上找了一堆,php.ini 的post_max_size和upload_max_filesize都设置了很大的值,没用,nginx的client_max_body_size 500m;加到了那么大的值,也没用。 最后终于google到办法:原来PHP从5.3.9开始增加一个变量 max_input_vars 用来

Copyright (C) quwantang.com, All Rights Reserved.

趣玩堂 版权所有 京ICP备15002868号

processed in 0.041 (s). 10 q(s)