gwpxjb 发表于 2008-4-14 12:35:51

新版 CodeIgniter 分页类及其用法

我一直使用的分页类这样的,如下图

使用CI自带的分页类感觉不是很舒服,所以就把自己的分页函数进行改进,原分页是由函数构成。
现在由于得放到libraries里边,所以将其改进成类。
还有以前参数是?page=1这样的,现在也进行改变
具体代码见附件


将分页类放置于application/libraries目录下,将其命名为showpage.php

然后在autoload.php里加入这样的代码
$autoload['libraries'] = array('database','parser','showPage');

这样就可以将分页类设置自动加载


在你的控制器相应方法里这样写:
   $pagesize=20;
   $total=$this->db->count_all('blog_list');
   $this->load->model('blog/listpage','list');
   preg_match("/index.php\/.*?\/(\d.*)/",$_SERVER['PHP_SELF'],$tt);
   if($tt){
    $page=$tt;
   }
   else{
    $page=1;
   }
   $this->showpage->showPage($total,$pagesize);
   $start=$this->showpage->getStart();
   $data['query']=$this->list->list_page($start,$pagesize);
   foreach($data['query'] as $key=>$value){
    $data['query'][$key]['time']=date("Y-m-d H:i:s",$value['time']);
   }
   $data['page']=$this->showpage->getContent();
   $this->parser->parse('blog/log_list',$data);

然后在视图页面,进行解析{page};

对了,可别忘了加载模板解析类哦,还有相关的辅助函数~~

效果如下:


[ 本帖最后由 gwpxjb 于 2008-4-16 14:14 编辑 ]

kkito 发表于 2008-4-14 13:15:45

不错
标题太吓人了,呵呵
看了那个类,
应该加上跟多的功能,比如获得前页是多少,获得总共有几页,前一页后一页...
这样更能体现类的优势

Hex 发表于 2008-4-14 13:26:37

感谢分享!加分!转移~~~

chenxihacn 发表于 2008-4-16 13:59:11

感谢分享

正在找CI分页教程呢!

如果微笑 发表于 2009-4-8 11:33:02

不错。。。拿走了哦。。。。。

commonuser 发表于 2009-4-9 15:18:51

感谢分享。 呵呵

huapiaoxiang 发表于 2009-6-8 23:44:37

太强大了,感谢感谢!

黄巧龙 发表于 2009-6-9 16:02:13

太好了~~一

avinmo 发表于 2009-7-23 14:15:16

很好。顶一个。

ffms_lin 发表于 2009-7-24 15:53:51

不错,感谢分享。
页: [1] 2 3 4
查看完整版本: 新版 CodeIgniter 分页类及其用法