zoukankan      html  css  js  c++  java
  • HelpersPagination

    HelpersPagination

    Break recordset into a series of pages.

    First create a new instance of the class pass in the number of items per page and the instance identifier, this is used for the GET parameter such as ?p=2

    The setTotal method expects the total number of records, either set this or pass in a call to a model that will return records then count them on return.

    The method used to get the records will need a getLimit passed to it, this will then return the set number of records for that page.

    Lastly a method called page_links will return the page links.

    The model that uses the limit will need to expect the limit:

    public function getContacts($limit)
    {
        return $this->db->select('
            SELECT 
            *,
            (SELECT count(id) FROM '.PREFIX.'contacts) as total
         FROM '.PREFIX.'contacts '.$limit);
    }

    Pagination concept

    //create a new object
    $pages = new Paginator('1', 'p');
    
    //calling a method to get the records with the limit set (model would be the var holding the model data)
    $data['records'] = $this->model->getContacts($pages->getLimit());
    
    //set the total records, calling a method to get the number of records from a model
    $pages->setTotal($data['records'][0]->total);
    
    //create the nav menu
    $data['pageLinks'] = $pages->pageLinks();

    Usage example:

    $pages = new Paginator('50','p');
    $data['records'] = $this->model->getContacts($pages->getLimit());
    $pages->setTotal($data['records'][0]->total);  
    $data['pageLinks'] = $pages->pageLinks();
  • 相关阅读:
    第十一篇:Mysql系列
    mysql八:ORM框架SQLAlchemy
    mysql七:视图、触发器、事务、存储过程、函数
    mysql六:数据备份、pymysql模块
    工厂方法模式
    execution表达式
    CentOS系统下安装SVN及常用命令
    Spring Boot 表单验证、AOP统一处理请求日志、单元测试
    SSH文件上传代码片段
    JPA 实体映射
  • 原文地址:https://www.cnblogs.com/chunguang/p/5643188.html
Copyright © 2011-2022 走看看