用户
 找回密码
 入住 CI 中国社区
搜索
查看: 6740|回复: 1
收起左侧

Kohana中的分页

[复制链接]
发表于 2007-12-17 11:39:58 | 显示全部楼层 |阅读模式
Kohana是源于CI的,所以掌握CI之后,对Kohana来说,都基本上是差不多的。以前照着CI的方法使用Kohana,没出过什么问题。这次写一个分页,看到了CodeIgniter 分页教程(Pagination)这篇文章,于是照着做,没有成功。看来Kohana和CI的分页稍微有些不一样了。
打开Kohana的Pagination.php看了下,发现和CI的配置参数有些不一样了.主要是下面几行:

PHP复制代码
 
        public $base_url       = '';
        public $directory      = 'pagination';
        public $style          = 'classic';
        public $uri_segment    = 3;
        public $items_per_page = 10;
       
        public $current_page;
        public $total_pages;
        public $total_items;
 
复制代码

参数都比较简单,我就不说了。于是,按照台下方法调用pagination。
PHP复制代码
 
                $model=new Product_Model();
                $config['uri_segment'] =4 ;
                $config['total_items'] = $model->count();
                $config['items_per_page'] = '5';
                $this->load->library('pagination',$config);
                $result=$model->getList($this->pagination->sql_limit())->result();
                $view=$this->load->view("admin/product_list_view");
                $view->proList=$result;
                $view->render(true);
 
复制代码

需要注意的是uri_segment要真写正确,才能生成相应的url。Konaha的分页增加了sql_offset()和sql_limit()两个方法。sql_offset()生成相应的偏移量,而sql_limit()可以生成LIMIT 5 OFFSET 15 这样的一小段,直接加到我们的sql语句后就好了,非常好用。在这里我的$model调用了一个getList的方法,传入了$this->pagination->sql_limit().
最后就是视图了,视图和CI没什么两样
PHP复制代码
 
<?echo $this->pagination->create_links() ?>
 
复制代码

评分

参与人数 1威望 +5 收起 理由
Hex + 5 精品文章

查看全部评分

发表于 2007-12-17 12:19:54 | 显示全部楼层
支持原创文章!顶了!加分加精!

本版积分规则