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

[已解决] 数据库先查询总记录数,在查询记录详情的时候之前的where...

[复制链接]
发表于 2015-3-30 23:14:10 | 显示全部楼层 |阅读模式
我是在使用分页类的时候遇到的
1:我先加入了一些where,然后查询符合这个条件的总的记录数
2:接着我想继续使用这些where条件,查询符合这些条件的记录详情,但是发现此时where没有了。怎么办?

代码如下:
$this->load->database();
$this->db->where('cat', 1);
$this->db->where('product_id', 3);
.....// 这里很多where条件

$count = $this->db->from('auction')->count_all_results(); // 此时根据打印知道,使用了where条件
$rs = $this->db->get('auction')->result_array(); // 此时发现这个查询没有使用上面的where条件。怎么办呢?


发表于 2015-3-30 23:41:05 | 显示全部楼层
count_all_results() 改用 num_rows()
請參考 CI 手冊 - 查詢結果
 楼主| 发表于 2015-3-31 21:19:39 | 显示全部楼层
Closer 发表于 2015-3-30 23:41
count_all_results() 改用 num_rows()
請參考 CI 手冊 - 查詢結果

num_rows 执行的是select * from table 然后查询记录数量。
count_all_result 则是执行的select count(*) from table。。

你这个不行哈
发表于 2015-4-1 09:02:52 | 显示全部楼层
silence1214 发表于 2015-3-31 21:19
num_rows 执行的是select * from table 然后查询记录数量。
count_all_result 则是执行的select count(*) ...

那你就只好再給他一次所有 where 條件囉
如果你要這麼做的話
发表于 2015-4-1 10:41:54 | 显示全部楼层
本来就要把where的那些东西再复制到下边去的,没有什么取巧的

本版积分规则