首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在添加进一步的限制语句CodeIgniter之前对行进行计数?

在添加进一步的限制语句CodeIgniter之前对行进行计数?
EN

Stack Overflow用户
提问于 2012-09-07 14:38:38
回答 7查看 10.8K关注 0票数 10

我遇到了一个问题..。

我有很多这样的状态.

代码语言:javascript
运行
复制
$this->db->where('Pool', "1");
$this->db->where('Bedrooms >=', "3");

然后是限位语句

代码语言:javascript
运行
复制
$this->db->limit($limit, $offset);

最后我的get声明

代码语言:javascript
运行
复制
$query = $this->db->get('table-name');

我的问题是,我需要在极限语句之前计算结果,才能得到没有限制的总行。所以我试了一下.

代码语言:javascript
运行
复制
$this->db->where('Pool', "1");
$this->db->where('Bedrooms >=', "3");

$num_rows = $this->db->count_all_results();

$this->db->limit($limit, $offset);
$query = $this->db->get('table-name');

这用where语句来计数我的行。但是,get语句现在获得记录,而不使用前面的语句。

它是不可见的,但是有大量的代码处理更多的where语句,并且抓取urls中的内容,所以我宁愿不执行两次数据检索来修复这个.

干杯!

EN

Stack Overflow用户

发布于 2017-08-22 05:31:04

您可以使用mysql的SQL_CALC_FOUND_ROWS

代码语言:javascript
运行
复制
SELECT SQL_CALC_FOUND_ROWS * FROM table1
WHERE
  cond1, cond2, ..., condN
LIMIT 10

选择FOUND_ROWS();

这是使用mysql,您可能需要检查如何使用它的代码点火器的方式。

参考资料:

found-rows

票数 1
EN
查看全部 7 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12320249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档