zoukankan      html  css  js  c++  java
  • 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);//这个是显示分页数据的方法
    
  • 相关阅读:
    EL表达式与JSTL
    JSP
    session
    四则运算 第二次
    第二次作业
    四则运算
    用户使用手册与测试报告
    系统设计和任务分配
    需求规格说明书和原型设计
    用户需求分析和竞品分析
  • 原文地址:https://www.cnblogs.com/sunxun/p/4338916.html
Copyright © 2011-2022 走看看