【问题标题】:Codeigniter count_all for paginationCodeigniter count_all 用于分页
【发布时间】:2013-05-12 02:50:19
【问题描述】:

我正在尝试在 codeigniter 中创建分页,并且可以正常工作,但是我遇到了一个小问题。它似乎正在加载我数据库中的所有条目,而不是我想要的选定条目。

public function original_count() {
     $this->db->where('type', 'Original');
      return $this->db->count_all("story_tbl");
    }

我知道发生的事情是最后一行推翻了我之前的陈述。我似乎无法找到解决它的方法。我只尝试了一个 staight sql 语句然后返回它,但我也无法让它工作。

这是我的声明...

SELECT COUNT(*) FROM story_tbl where type = 'Original';

非常感谢一些帮助! :)

【问题讨论】:

    标签: php codeigniter pagination


    【解决方案1】:

    CI 有内置的计数方法

    count_all_results()
    

    允许您确定特定 Active Record 查询中的行数。查询将接受 Active Record 限制器,例如 where()、or_where()、like()、or_like() 等。示例:

    https://www.codeigniter.com/userguide2/database/active_record.html

    $total_count = $this->db->count_all_results('story_tbl', array('type' =>'Original'));
    

    【讨论】:

    • 谢谢!我实际上有这样的事情......几乎是逐字记录。不幸的是,它对我不起作用。它不断向我抛出一个错误,告诉我我无法返回整数。幸运的是,上面的答案解决了我的问题! :)
    【解决方案2】:

    您也可以使用内置的num_rows() 函数...

    $query = $this->db->where('type', 'original')->get('story_tbl');
    return $query->num_rows();
    

    【讨论】:

      【解决方案3】:

      先试试这个。

      $query = $this->db->where('tbl_field', 'value')
               ->get('your_table');
      return $query->num_rows();
      

      除了这个Codeigniter还有它自己的功能如下。

       $this->db->where('tbl_field', 'value')
                   ->get('your_table');
          return $this->db->count_all_results();
      

      或者使用这个。

      return $this->db->count_all('your_table');
      

      【讨论】:

        【解决方案4】:

        Where 在 count_all 条件下不起作用..您可以使用以下方法找出总行数..

        public function count_all() {
            $this->db->select ( 'COUNT(*) AS `numrows`' );
            $this->db->where ( array (
                    'type' => 'Original'
            ) );
            $query = $this->db->get ( 'story_tbl' );
            return $query->row ()->numrows;
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-03-12
          • 2013-05-23
          • 1970-01-01
          • 2017-12-30
          • 2014-04-13
          • 1970-01-01
          相关资源
          最近更新 更多