设为首页
收藏本站
Archiver
用户
登录
入住
用户名
Email
自动登录
找回密码
密码
登录
入住 CI 中国社区
首页
返回 CodeIgniter 中国首页
论坛
BBS
导读
Guide
个人主页
Space
中文手册
搜索
CodeIgniter 搜索引擎
视频教程
案例
任务
搜索
搜索
本版
帖子
用户
设为首页
收藏本站
Archiver
开启辅助访问
切换到宽版
日志
相册
分享
记录
CodeIgniter4
CodeIgniter3
CodeIgniter2
帖子
好友
道具
勋章
收藏
任务
记录
留言板
设置
我的收藏
退出
腾讯QQ
微信登录
CodeIgniter 中国开发者社区
»
论坛
›
CodeIgniter 开发
›
CodeIgniter 进阶讨论
›
Active Record 类 相关问题
返回列表
查看:
4266
|
回复:
4
[数据库]
Active Record 类 相关问题
[复制链接]
scsmxzp
scsmxzp
当前离线
积分
19
IP卡
狗仔卡
发表于 2010-6-9 17:50:00
|
显示全部楼层
|
阅读模式
PHP
复制代码
$this
->
load
->
database
(
)
;
$this
->
db
->
select
(
'user_name'
)
;
$this
->
db
->
from
(
'user'
)
;
$this
->
db
->
like
(
'user_name'
,
'test'
)
;
$nums
=
$this
->
db
->
count_all_results
(
)
;
$this
->
db
->
order_by
(
'user_name'
,
'asc'
)
;
$this
->
db
->
limit
(
$page
[
'page_size'
]
,
$page
[
'pageStart'
]
)
;
$result
=
$this
->
db
->
get
(
)
;
$data
[
'table_data'
]
=
$result
->
result_array
(
)
;
复制代码
我自己写了一个分页的类
要查询出当前满足条件的记录总数
用的是$nums = $this->db->count_all_results();这句
接下来要查询出满足条件指定范围的数据
结果它说没有可用的表,给我感觉好像是
$this->db->count_all_results()执行过后前面指定的
表名,查询条件好像都不在了,在下边又得重新指定
要真的这个样子的话,有没得别的哈子办法,我只想指定一次件条
谢谢
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
scsmxzp
scsmxzp
当前离线
积分
19
IP卡
狗仔卡
楼主
|
发表于 2010-6-9 18:07:29
|
显示全部楼层
咋个没人呢?
回复
支持
反对
使用道具
举报
显身卡
lcnphp
lcnphp
当前离线
积分
545
IP卡
狗仔卡
发表于 2010-6-9 19:23:52
|
显示全部楼层
本帖最后由 lcnphp 于 2010-6-9 19:30 编辑
你可以把查询条件和查询总数分离出来发,分别写一个函数。
回复
支持
反对
使用道具
举报
显身卡
songah
songah
当前离线
积分
277
IP卡
狗仔卡
发表于 2010-6-9 19:56:08
|
显示全部楼层
使用类的clone啊
PHP
复制代码
function
__clone
(
)
{
foreach
(
$this
as
$key
=>
$value
)
{
if
(
is_object
(
$value
)
)
{
$this
->
{
$key
}
=
clone
(
$value
)
;
}
}
}
function
get_clone
(
)
{
return
clone
(
$this
)
;
}
复制代码
clone可以放在模型中,一般数据库操作都在模型中好吧,然后copy一份model,把count_all_results函数和get函数分开使用,因为两种确实是不可以共存的
回复
支持
反对
使用道具
举报
显身卡
songah
songah
当前离线
积分
277
IP卡
狗仔卡
发表于 2010-6-9 19:59:53
|
显示全部楼层
这里涉及到php类的引用传递,在php4中实例化一个类也就copy了一份,但是在php5中需要用clone魔术方法来实现拷贝,而count_all_results函数会改变sql语句的连续性,使用count_all_results后get函数得到的就是select * form talble_name了。
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
入住 CI 中国社区
本版积分规则
发表回复
回帖后跳转到最后一页