php分页类
1.需求
学会php分页类的使用
2.参考例子
CI的分页类
3.代码部分
<?php class pagination{
public $pagesize=20;
public $pageindex=2;
public $total_row=202;
public $linkurl='test.php?c=1&m=2';
public $pagestr="&page=";
public $pageshownum=22; public function __construct($params = array())
{
if (0 < count($params)) {
$this->initialize($params);
}
} public function initialize($params = array())
{
if (0 < count($params)) {
foreach ($params as $key => $val ) {
if (isset($this->$key)) {
$this->$key = $val;
}
}
}
}
public function create_link()
{
if ($this->total_row <= 0) {
return "";
} if ($this->pagesize <= 0) {
return "";
} $maxPage=0;
if($this->total_row%$this->pagesize === 0)
{
$maxPage =(int)$this->total_row/$this->pagesize;
}
else
{
$maxPage =(int)($this->total_row/$this->pagesize)+1;
} if ($maxPage < $this->pageindex) {
return "";
} $num = $this->pageshownum;
if($num>$maxPage)
{
$num=$maxPage;
} return $this->PageSatte($maxPage, $this->pageshownum, $this->pageindex, $this->total_row, $this->linkurl, $this->pagestr); } private function PageSatte($maxpage,$pageshownum, $pageindex, $docount, $linkurl, $pagetag = "&page")
{
$num = $pageshownum;
if($num>$maxpage)
{
$num=$maxpage;
}
$str='<ul class="m-pagination1 clearfix">'; $str.='<span>第'.$pageindex."/".$docount."页</span>";
$str.='<span>共'.$maxpage."页</span>";
if($pageindex!==1)
{
$str.="<li><a href=".$linkurl.$pagetag."1".">第一页</a></li>";
$str.="<li><a href=".$linkurl.$pagetag.($pageindex-1).">上一页</a></li>";
} for($i=1;$i<($maxpage+1);$i+=$num)
{
if(($i<=$pageindex) && ($pageindex<($i+$num)))
{
for($j=$i;$j<($i+$num);$j++)
{
if($pageindex!==$j)
{
$str.="<li><a href=".$linkurl.$pagetag.$j.">".$j."</a></li>";
}
else
{
$str.="<li><a>".$j."</a></li>";
}
}
}
} if($pageindex<$maxpage)
{
$str.="<li><a href=".$linkurl.$pagetag.($pageindex+1).">下一页</a></li>";
$str.="<li><a href=".$linkurl.$pagetag.$maxpage.">最后一页</a></li>";
}
return $str;
}
}
$config=array(
'pagesize'=>30,
'pageindex'=>1,
'total_row'=>303,
"linkurl"=>'localhost/index.php?c=index&m=index',
"pagestr"=>'$page=',
'pageshownum'=>10
);
$obj = new pagination($config);
echo $obj->create_link();
4.总结
主要是生成数字那部分的算法和不合理情况的返回空值的设定。
php分页类的更多相关文章
- php实现的分页类
php分页类文件: <?php /** file: page.class.php 完美分页类 Page */ class Page { private $total; //数据表中总记录数 pr ...
- asp.net的快捷实用分页类
KeleyiPager分页类,可以于对列表页进行分页浏览,代码是从HoverTreeCMS项目中COPY的,感觉很不错,使用简单方便,但是功能强大. 在线体验效果:http://cms.hovertr ...
- PHPCMS V9 分页类的修改教程
首先,打开 phpcms\libs\functions\global.func.php 这个文件,找到文件第622行的分页函数,复制一下,粘贴到默认分页函数的下面,重新命名后保存.(笔者在此命名为:p ...
- php 简单分页类
/** file: page.class.php 完美分页类 Page */ class Page { private $total; //数据表中总记录数 privat ...
- PHP简单漂亮的分页类
本文介绍一款原生的PHP分页类,分页样式有点类似bootstrap. <?php /* * ********************************************* * @类名 ...
- ThinkPHP 分页类的使用及退出功能的实现
/* ThinkPHP设置编码统一: 一.数据库设置为utf8_bin 二.HTML页面设置charset=utf-8,而且检查文档编码格式是否是utf-8.phpDesigner8设置方式为“文件- ...
- php部分---一个分页类、用法
1.分页类 <?php /** file: page.class.php 完美分页类 Page */ class Page { private $total; //数据表中总记录数 privat ...
- DedeCMS织梦动态分页类,datalist标签使用实例
<?php require_once(dirname(__FILE__)."/include/common.inc.php");//载入基础文件 require_once(D ...
- webpy分页类 + 上传类
webpy没有分页类.按照php的思路.自己编了一个.数据库用的是sqlite. class Page(object): '''分页类''' def __init__(self,page_size,d ...
随机推荐
- 06章 映射一对多双向关联关系、以及cascade、inverse属性
当类与类之间建立了关联,就可以方便的从一个对象导航到另一个对象.或者通过集合导航到一组对象.例如: 对于给定的Emp对象,如果想获得与它关联的Dept对象,只要调用如下方法 Dept dept=emp ...
- Google Material Design的图标字体使用教程
使用教程 1. 打开Material icons下载页 2. 选择要下载的图标 (目前不能多选>_<) 3.选择要下载的格式即可 图标字体使用教程 [方法一] STEP 1: 引入字体文件 ...
- java多线程系类:JUC线程池:05之线程池原理(四)(转)
概要 本章介绍线程池的拒绝策略.内容包括:拒绝策略介绍拒绝策略对比和示例 转载请注明出处:http://www.cnblogs.com/skywang12345/p/3512947.html 拒绝策略 ...
- nodejs express 静态文件的路径
当express 设置为静态文件服务器的时候.可以通过2种方式进行方位: 1,通过设置app.use('路径1','../a/b/image') express 路径的形式,如 src="路 ...
- redis 学习笔记(1)-编译、启动、停止
一.下载.编译 redis是以源码方式发行的,先下载源码,然后在linux下编译 1.1 http://www.redis.io/download 先到这里下载Stable稳定版,目前最新版本是2.8 ...
- CentOS 新增swap交换空间
在centos 6.4 64位系统中安装oracle 10g数据库软件,但由于交换空间过小导致检查不通过: 因此需要增加交换空间的大小. 第一步:在opt目录下新建swap交换文件,并设置其大小为2G ...
- 正则获取HTML代码中img的src地址
/// <summary> /// 获得HTML中所有图片的src地址 /// </summary> /// <param name="sHtmlText&qu ...
- InetAddress类
InetAddress类是Java对IP地址(包括IPv4和IPv6)的高层表示.大多数其他网络类都要用到这个类,包括Socket,ServerSocket,URL,DatagramSocket,Da ...
- Coding 及 git 的工程使用方法
在过去的两周,同学们除了在学习 C 语言之外,还在学习如何利用 git 将自己的代码上传到 coding 中.也有大量的同学,成功的上传了代码.但是,实际上大部分同学的用法都不合理.这里,以一 ...
- iOS小知识点(非UI部分)
1. _cmd 表示当前方法的@SEL指针, - (void)putString{} 对于这个函数_cmd 等效于@selector(putString)