php - Codeigniter 2.1 - 计算限制前的所有搜索结果

标签 php mysql codeigniter codeigniter-2

当我在限制之前进行搜索时,如何计算所有结果?我是否需要进行两个查询(一个有限制,一个没有限制),或者这可以在一个查询中完成? 我有这样的功能:

$i = 0;
        $word = explode(' ', $word);
        $this->db->select("SQL_CALC_FOUND_ROWS clanak", FALSE)
        ->from('clanak')
        ->join('kategorija', 'kategorija_id = id_kategorija');
        foreach ($word as $w) :
            $i == 0 ? $this->db->like('naslov', $w) : $this->db->or_like('naslov', $w);
            $i++;
        endforeach;
        return $this->db->order_by('datum_kreiranja desc, procitan desc')->limit($limit, $offset)->get()->result_array();

最佳答案

您确实需要进行第二次查询才能获得 SQL_CALC_FOUND_ROWS 的结果

SELECT FOUND_ROWS()

Documentation

关于php - Codeigniter 2.1 - 计算限制前的所有搜索结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16568374/

相关文章:

javascript - 使用 Javascript 验证 HTML 下拉菜单?

MySQL DELETE with JOIN 使用 LIMIT 语句获取语法错误

mysql - 制作数据库的本地副本

php - 为什么取模运算符在 Perl 和 PHP 中的行为不同?

PHP while 循环出错

php - 为什么我需要 Laravel 的 Docker?

mysql - 需要 MySQL 查询从主表获取订单,然后获取与其关联的单个项目的计数以及来自另一个表的总行数

PHPExcel:无效的单元格坐标错误

codeigniter - 根据 Grocery CRUD 中的第三个参数设置下拉输入默认值

php - 如何在不使用数据库的情况下仅使用 codeigniter PHP 中的 session token 结果请求进行身份验证?