设为首页
收藏本站
Archiver
用户
登录
入住
用户名
Email
自动登录
找回密码
密码
登录
入住 CI 中国社区
首页
返回 CodeIgniter 中国首页
论坛
BBS
导读
Guide
个人主页
Space
中文手册
搜索
CodeIgniter 搜索引擎
视频教程
案例
任务
搜索
搜索
本版
帖子
用户
设为首页
收藏本站
Archiver
开启辅助访问
切换到宽版
日志
相册
分享
记录
CodeIgniter4
CodeIgniter3
CodeIgniter2
帖子
好友
道具
勋章
收藏
任务
记录
留言板
设置
我的收藏
退出
腾讯QQ
微信登录
CodeIgniter 中国开发者社区
»
论坛
›
Developers
›
Web 开发综合讨论
›
Kohana中的分页
返回列表
查看:
6740
|
回复:
1
Kohana中的分页
[复制链接]
lonesane
lonesane
当前离线
积分
102
IP卡
狗仔卡
发表于 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
精品文章
查看全部评分
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
Hex
Hex
当前离线
积分
50181
IP卡
狗仔卡
发表于 2007-12-17 12:19:54
|
显示全部楼层
支持原创文章!顶了!加分加精!
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
入住 CI 中国社区
本版积分规则
发表回复
回帖后跳转到最后一页