1

分页

CodeIgniter 的分页类是一个非常简单,并且 100% 用户自定义的类。

官方展示最简单的demo

$this->load->library('pagination');
$config['base_url'] = 'http://example.com/index.php/test/page/';
$config['total_rows'] = 200;
$config['per_page'] = 20;
$this->pagination->initialize($config);//序列化
echo $this->pagination->create_links();//生成分页导航

这里用户可以进行自定义分页,可定义的项目

  • $config['first_link'] = '' //起始链接,比如设置成首页
  • $config['last_link'] = '' //结束连接,比如尾页
  • $config['prev_link'] = '' //上一页
  • $config['next_link'] = '' //下一页
  • $config['display_pages'] = FALSE; //可以隐藏数字链接

我已设置首尾上下页,不隐藏数字链接,样式可能这样的:
有数字链接的
隐藏就只显示上下一页,到末尾页有首页上一页显示,在首页有下一页尾页显示

2.2.2手册中:

如果你想要给每一个链接添加 CSS 类,你可以添加如下配置:
$config['anchor_class'] = "";
//添加 CSS 类

3.0中已不赞成这样使用,3.1+版本将移除,如下

// Deprecated legacy support for the anchor_class option
        // Should be removed in CI 3.1+
        if (isset($params['anchor_class']))
        {
            empty($params['anchor_class']) OR $attributes['class'] = $params['anchor_class'];
            unset($params['anchor_class']);
        }

##实现
1.控制器的某个方法中加载模型,分页主要实现由模型来实现

public function appoint() {
        $this->load->model('room_action');
        $array = $this->room_action->show_cate($number);

2.模型的编写

            //分页开始,加载分页类
            $this->load->library('pagination');
            $count = 可由数据库查询相关字段得
            $pagesize = 6;
            $config['per_page'] = $pagesize;//每页展示几个项目
            $config['base_url'] = base_url("boardroom/appoint/cate/$number/page");//包含分页控制器类和方法
            $config['total_rows'] = $count;//需分页的总数据行数,我这里从数据库查询到
            $config['uri_segment'] = 6;
            $offset = intval($this->uri->segment(6));//uri中分段函数,从控制器开始数,起始数字是1
            $this->pagination->initialize($config);//进行序列化
            $data['page_link'] = $this->pagination->create_links();//生成分页按钮
            //分页结束


em0t
758 声望23 粉丝

Talk is cheap, show me the code


引用和评论

0 条评论