CodeIgniter CI 分页功能的使用和说明

在这里分析三种不同的使用方式:

主要是控制器和界面中内容的说明。

--------------------------------------------------------------------------1------------------------------------------------------------------------------

第一种使用方法(CI 中默认的分页)。

这里是控制器内容::
<?php
/**
 * ci 框架中的默认分页行为
 * 地址中传递的是 当前页面的起始数据
 */
class Fy1 extends CI_Controller{
    
    /**
     * 内容列表界面
     * 参数 $page 表示的是当前页的其实数量
     * @param unknown $page
     */
    public function index($page){
        $this->load->library('pagination');                      //加载分页类
        $config['base_url']=site_url('fenye/fy1/index');         //地址路径
        $config['total_rows']=200;                               //总的内容 条数
        $config['per_page']=10;                                  //每页显示数量,默认显示10条
        $this->pagination->initialize($config);                  //加载配置信息
        $data=array('page'=>$this->pagination->create_links());  //要显示到界面的分页信息
        $this->load->view('fenye/fy1_view',$data);
    }
}

?>
这里是界面视图内容::
<?php
/**
 * 默认分页 视图界面
 */
?>

<?php echo $page; //输出分页信息 ?>

--------------------------------------------------------------------------1------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------------------------

--------------------------------------------------------------------------2------------------------------------------------------------------------------

这里是第二个 控制器中的源码::
<?php
/**
 * ci 框架中的默认分页行为
 * 地址中传递的是 当前页面的起始数据
 */
class Fy2 extends CI_Controller{
    
    /**
     * 内容列表界面
     * url的样式; http://www.ci.com/index.php/fy2/index?page=20
     * 地址中的 参数 page 可以修改成任意的,修改地址 
     * system / libraries / Pagination.php 文件中找到  $query_string_segment = 'page';//修改传递的地址中的名称
     * 可以使用  $this->input->get('page');  获取地址的参数值(要是有修改值,请使用修改后的值来获取内容)
     */
    public function index(){
        
        //根据参数获取数据库表中的信息
        $page = $this->input->get('page');                       //获取地址的中参数,内容是当前页的启示数据
        $this->load->model('user');//加载数据表     user 是表的名称
        $data_info = $this->user->get();//获取数据库表中的信息
        
        //分页中需要的信息
        $this->load->library('pagination');                      //加载分页类
        $config['base_url']=site_url('fenye/fy2/index');         //地址路径
        $config['total_rows']=200;                               //总的内容 条数
        $config['per_page']=10;                                  //每页显示数量,默认显示10条
        $config['page_query_string'] = TRUE;                     //开启url地址中指定参数传值 ?page=25
        
        $this->pagination->initialize($config);                  //加载配置信息
        
        $data=array('page'=>$this->pagination->create_links());  //要显示到界面的分页信息
        $this->load->view('fenye/fy2_view',$data);
    }
}

?>
这里是第二个 视图中的源码::
<?php
/**
 * 默认分页 视图界面
 */
?>

这里输出数据库表中的信息

<?php echo $page; //输出分页信息 ?>

--------------------------------------------------------------------------2------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------------------------

--------------------------------------------------------------------------3------------------------------------------------------------------------------

这里是第三个 控制器中的内容::
<?php 
/**
 * 实现 URL中传递的参数是 当前选中的页数
 */
class Fy3 extends CI_Controller{
    
    function __construct(){
        parent::__construct();
    }
    
    public function index(){
        
        $page = $this->input->get('page');
        
        $this->load->model('user');                         //加载数据表model
        $conditions['page']=$page;                          //条件
        $data_info = $this->user->getAllPage($conditions);  //获取分页数据
        $data_count = $this->user->getAllCount($conditions);//获取全部的数量
        
        $this->load->library('pagination');                 //加载分页类
        $config['base_url']=site_url('fenye/book/index');   //带参数的路径地址
        $config['total_rows']=$data_count;                  //总的内容 条数
        $config['per_page']=10;                             //每一页显示的条数 默认是每页显示 10条
        
        $config['use_page_numbers'] = TRUE;                 //开启传递当前选中的页码
        $config['page_query_string'] = TRUE;                //开启地址中使用参数传递 ?page=25
        
        $this->pagination->initialize($config);             //加载配置

        $data=array(
            'list'=>$data_info,                         //视图界面中的数据
            'page'=>$this->pagination->create_links()   //分页数据
        );
        
        $this->load->view('fenye/fy3_view',$data);
    }
}

这里是第三个 视图中的源码内容::
<?php
echo "以下是分页内容例子:";
//echo $this->pagination->create_links();
echo $page;

--------------------------------------------------------------------------3------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------------------------
































  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值