分页逻辑,无偏移,最大偏移量用作php codeigniter框架的分页过滤条件

时间:2018-12-17 11:34:51

标签: php pagination codeigniter-3 codeigniter-2 php-7

我看到我们可以应用分页的方法很少,其中一种是利用CI分页库来生成供我们导航的链接。

主要逻辑集中在

  • 获取与展示广告相关的有限数据

    并通过分页链接进行迭代..这是我的模型逻辑,不带偏移量使用(为了使用主键id来提高性能)

使用限制,上次运行的最大值,用户类型;因此,下一次运行应在大于提供的ID的行上进行。

在控制器中说我正在将结果收集到data [“ results”]中

$data["results"] = $this->ressults_model->fetch_data($config["per_page"],$maxidvalue,$usertype);

在模型中。

public function fetch_data($limit,$maxid,$usertype) {
      $date = date('Y-m-d');

      $this->db->limit($limit);
      $this->db->order_by('post_date', 'DESC');
      $this->db->select('id,title');
      if ($usertype == 1)
      {$query = $this->db->get_where('titles',array('id >' => $id,'expiry_date >' => $date));}
      else
      {$query = $this->db->get_where('titles',array('id >' => $id,'expiry_date >' => $date,'visibility'=>'All'));}


      if ($query->num_rows() > 0)
        { return $query->result();  }
      return array();
    }

挑战:如何递归收集和传递maxid以便分页工作。

欣赏一些指针。

谢谢

1 个答案:

答案 0 :(得分:0)

解决了!

我使用了会话变量maxid,该变量存储最大值,并在每次显示结果后将fetch_data方法作为参数提供。

PdfWriter

如果您有更好的解决方案,请发表。

谢谢!