Ci 自己的分页类【原创】

这里是自己手写的一个CI分页类的实现

<?php  if ( ! defined(‘BASEPATH‘)) exit(‘No direct script access allowed‘);
/**

 *
 * @package		CodeIgniter
 * @author		sunzhiyan
这是自己的一个工具类的测试,调用方法是

/**
 */
class CI_Mypage {

/*
 * $pagenum   每页显示的数据
 * $url 跳转的URL地址
 * $rscount  数据总条数
 * $paginationObject  分页类对象地址
 * */
	function page($pagesize = 2,$url,$rscount,$paginationObject){

       //进行配置
	   //每页显示的数据
       $config[‘per_page‘] = $pagesize;
       //配置基础目录
/*       $config[‘base_url‘]= site_url(‘welcome/index‘);*/
       $config[‘base_url‘]= $url;
       //一共多少条数据
       $config[‘total_rows‘] = $rscount;
       //#######################自定义分页
      // $config[‘uri_segment‘] = 6;//分页方法自动测定你 URI 的哪个部分包含页数
       //$config[‘num_links‘] = 1;//当前页码的前面和后面的“数字”链接的数量
       //$config[‘use_page_numbers‘] = TRUE;//默认分页URL中是显示每页记录数,启用use_page_numbers后显示的是当前页码
       $config[‘page_query_string‘] = TRUE;//默认情况下,分页类库假设你使用 URI 段,并像这样构造你的链接
	 //  $config[‘enable_query_strings‘]  = TRUE;//你的链接将自动地被用查询字符串重写
	   $config[‘query_string_segment‘] = "p";//“per_page”是默认传递的查询字符串  ‘用你的字符串‘ 来配置
		//#######################添加封装标签

       $config[‘full_tag_open‘] = ‘<h1>‘;//打开的标签放在所有结果的左侧
       $config[‘full_tag_close‘] = ‘</h1>‘;//关闭的标签放在所有结果的
       $config[‘first_link‘] = "Top";//第一页”链接的名字,如果你不希望显示,可以把它的值设为 FALSE
       $config[‘first_tag_open‘] = ‘<span style="background:red">‘;//“第一页”链接的打开标签。
       $config[‘first_tag_close‘] = ‘</span>‘;//“第一页”链接的关闭标签。
       $config[‘last_link‘] = ‘zuihou‘;//最后一页”链接的名字。如果你不希望显示,可以把它的值设为 FALSE
	   $config[‘last_tag_open‘] = ‘<span style="background:pink">‘;//最后一页”链接的打开标签
       $config[‘last_tag_close‘] = ‘</span>‘;//最后一页”链接的关闭标签。
 	   $config[‘next_link‘] = ‘Next‘;//“下一页”链接的名字。如果你不希望显示,可以把它的值设为 FALSE 。
       $config[‘next_tag_open‘] = ‘<span style="background:green">‘;//下一页”链接的打开标签。
       $config[‘next_tag_close‘] = ‘</span>‘;//“下一页”链接的关闭标签。
       $config[‘prev_link‘] = ‘up‘;//上一页”链接的名字。如果你不希望显示,可以把它的值设为 FALSE 。
       $config[‘prev_tag_open‘] = ‘<span style="background:black">‘;//上一页链接的打开标签。
       $config[‘prev_tag_close‘] = ‘</span>‘;//上一页链接的关闭标签。
       $config[‘cur_tag_open‘] = ‘<span style="background:orange">‘;//“当前页”链接的打开标签。
       $config[‘cur_tag_close‘] = ‘</span>‘;//当前页”链接的关闭标签。
/*       $config[‘num_tag_open‘] = ‘<div>‘;//数字”链接的打开标签。
       $config[‘num_tag_close‘] = ‘</div>‘;//数字”链接的关闭标签。*/
 //      $config[‘display_pages‘] = FALSE;// 不显示“数字”链接
       $config[‘anchor_class‘] = "";//添加 CSS 类
/* */
       //$config[‘display_pages‘] = FALSE;
       $paginationObject->initialize($config);
       //输出按钮
       $pageNew =  $paginationObject->create_links();

      return $pageNew;
	}
	/*分页数据的显示
	 * @author sunzhiyan
	 * $limit 偏移量
	 * $pagesize 每页显示量
	 * $rscount 数据总条数
	 * $DbConnection 数据库连接对象地址
	 */
	function pageDate($limit,$pagesize=2,$rscount,$DbConnection){

	   $MaxLimit = (ceil($rscount/$pagesize)-1)*$pagesize;

       if($limit <= 0){
       		$limit =0;
       }elseif ($limit > $MaxLimit){
       		$limit = $MaxLimit;
       }       

		 $data=$DbConnection->get_books($limit,$pagesize);
	  echo ‘<br><br><br><br>‘;
		 foreach ($data as $value) {
	       	echo ‘$value=‘.$value->ty_name;
	       }
	       return $data;
	}

}
// END Pagination Class

/* End of file Pagination.php */
/* Location: ./system/libraries/Pagination.php */

实现调用方法

只要在控制器里面加上这样一段嗲吗就能够实现调用

		$this->load->database();
		$this->load->model(‘Type_model‘);
		$this->load->library(‘pagination‘);
        $typeConnection = $this->Type_model;
       //首页

        $paginationObject = $this->pagination;
		 $this->load->library(‘mypage‘);
/*         $this->mypage->test($Type_model);*/
         $url = "http://localhost/myblog/index.php/welcome/index?t=3";
         $pagesize = 2;
         $rscount = $this->db->count_all(‘type‘);//数据总数
         $pagenew = $this->mypage->page($pagesize,$url,$rscount,$paginationObject);// 这个是显示分页标签的方法
         echo  $pagenew;
         $page = $_GET[‘p‘];
         $this->mypage->pageDate($page,$pagesize,$rscount,$typeConnection);//这个是显示分页数据的方法
时间: 2024-11-06 11:18:47

Ci 自己的分页类【原创】的相关文章

二十七、CI框架之自己写分页类并加载(写分页还是有难度,搞了一整天)

一.我们写好自己的分页代码,防止library目录中,带构造函数 二.在模型中,添加2个函数,一个是查询数据的条数,第二个是取出数据库中的数据 三.在控制中,写入相应的代码,如下: 四.在界面中,写入代码 五.我们打开浏览器,就可以看到CI框架的分页已经被我们替换掉了,如图: 总结: 大家可以看到,目前我自己比较好用的一个分页类在CI中可以正常使用,但是翻页之后,是用的 [ ?page=6 ]这种形式来呈现的,和CI还是不符合,我们后续改进一下分页类的写法,符合CI的规范. 原文地址:https

PHP分页类代码

今天为大家献上一段代码,这是一段php分页代码: <?php//创建分页类class Page {    private $_all_num;                                                            //数据总个数    private $_page_size;                                                        //每页显示几条数据    private $_page;  

CI 结合Bootstrap 分页

#显示列表 public function index(){ //载入分页类 $this->load->library('pagination'); //每页显示的条数 $perPage=11; /****配置分页****/ //设置分页路径 $config['base_url']=site_url('admin/locality/index'); //获取总条数 $config['total_rows']=$this->db->count_all_results('goods')

PHP非常好用的分页类

分页类: <?php /* * ********************************************* * @类名: page * @参数: $myde_total - 总记录数 * $myde_size - 一页显示的记录数 * $myde_page - 当前页 * $myde_url - 获取当前的url * @功能: 分页实现 * @作者: 宋海阁 */ class Page { private $myde_total; //总记录数 private $myde_siz

php分页类

<?php /** file: page.class.php 完美分页类 Page */ class Page { private $total; //数据表中总记录数 private $listRows; //每页显示行数 private $limit; //SQL语句使用limit从句,限制获取记录个数 private $uri; //自动获取url的请求地址 private $pageNum; //总页数 private $page; //当前页 private $config = arr

PHP简单分页类

<?php /* * ********************************************* * @类名: page * @参数: $myde_total - 总记录数 * $myde_size - 一页显示的记录数 * $myde_page - 当前页 * $myde_url - 获取当前的url * @功能: 分页实现 * @作者: 宋海阁 */ class page { private $myde_total; //总记录数 private $myde_size; //

thinkphp简洁、美观、靠谱的分页类

废话不多说先上图预览下:即本博客的分页: 这个分页类是在thinkphp框架内置的分页类的基础上修改而来: 原分页类的一些设计,在实际运用中感觉不是很方便: 1:只有一页内容时不显示分页: 2:原分页类在当前页是第一页和最后一页的时候,不显示第一页和最后一页的按钮: 3:分页数比较少时不显示首页和末页按钮: 4:包裹分页内容的父级div没有class: 针对以上问题逐一进行了修改成如下: 1:如果没有数据不显示分页,如果有一页及以上内容即显示分页: 2:默认就显示第一页和最后一页按钮,但是在当前

CodeIgniter学习笔记(十三)&mdash;&mdash;CI中的分页

首先加载分页类 $this->load->library('pagination'); 然后设置分页属性 // 每页显示的数量 $config['page_size'] = 10; // 总数据量 $config['total_rows'] = 200; // 设置分页跳转页面的基础地址 $config['base_url'] = site_url('index.php/user/test'); // 设置分页显示文字 $config['first_link'] = '首页'; $config

ASP经典分页类

================================================================= 'XDOWNPAGE ASP版本 '版本 1.00 'Code by zykj2000 'Email: [email protected] 'BBS: http://bbs.513soft.net '本程序可以免费使用.修改,希望我的程序能为您的工作带来方便 '但请保留以上请息 ' '程序特点 '本程序主要是对数据分页的部分进行了封装,而数据显示部份完全由用户自定义