我想通过在查询中使用$this->db->count_all_results()
计算所有结果,然后获得查询结果($this->db->get
),而无需重置任何字段值。我遵循Limiting or Counting Results上的用户指南
但是,此方法还重置您可能传递给select()的所有字段值。如果需要保留它们,可以将FALSE作为第二个参数传递:
我已将FALSE参数传递给函数,但出现数据库错误:
错误号:1066不是唯一的表/别名:'my_table'
这是我尝试过的代码
$this->db->select('title', 'content', 'date');
$this->db->like('title', 'Post');
$this->db->order_by('title', 'DESC');
$records = $this->db->count_all_results('my_table', FALSE);
$query = $this->db->get('my_table', 20);
谢谢
答案 0 :(得分:0)
为什么不只像这样计算查询结果集中的行:
$this->db->select('title', 'content', 'date');
$this->db->like('title', 'Post');
$this->db->order_by('title', 'DESC');
$query = $this->db->get('my_table');
$records = $query->num_rows();
答案 1 :(得分:0)
希望这对您有帮助:
在my_table
中为count_all_results
命名,如下所示:
$this->db->select('p.title, p.content, p.date');
$this->db->like('p.title', 'title');
$this->db->order_by('p.date', 'DESC');
$data['count'] = $this->db->count_all_results('my_table p', FALSE);
$data['records'] = $this->db->get('my_table')->result();
print_r($data);