• TP5分页类使用——超级简单好用


    本文目录:

    1. 首先知道最原始的分页如何实现。
    2. TP分页类相当简单。
    3. 模板中常用

    首先知道最原始的分页如何实现。

    页面传进来一个p表示当前请求的页码,控制器接受到参数,组装到sql中,并且配置page的配置信息,例如,每页显示多少数据,然后利用sql先查出总个数,然后利用分页关系组装sql,查出来之后的得到对应的数据,接下来开始解析分页按钮等信息的渲染。经过漫长复杂的处理才可以完成一个分页的使用。

    TP分页类相当简单。

    其中将获取当前页码自动化获取,根据model自动组装sql,结合render渲染出需要的分页按钮。相当简单。

    具体说下,

     1 public function getlist()
     2 {
     3 $cartoon_where = ['block_sta' => 3,  'is_on_show' => 1];
     4 $orderBy = ['hot_num' => 'desc'];
     5 $hot_cartoons = Model('cartoon')
     6     ->field('id,title,thumb,author,last_chapt,last_chapt_num,tags,serial_sta')
     7     ->where($cartoon_where)
     8     ->order($orderBy)
     9     ->paginate(5, false, ['var_page'=>'p']);
    10 return $hot_cartoons;
    11 }

    只需要在model中使用一个  ,配置url中表示页码的字符,这里用p,其实默认的是 'page'  .如果使用了page也可以任何东西都不用配置

    paginate(5, false, ['var_page'=>'p']);

    所有获取页码,组装sql,查询总数等都是 类完成,但要注意调用的是model,而且返回的是一个bootstrap对象,但是这个data数据可以直接使用。
    简直不能更爽~

    例子详情参见:
    控制器:

    appmobilecontroller
    ank    ->book_hot()    和   ->ajax_ranking_info_book()

    注意:
    这个分页参数必须是get方式传递过来的。post的方式不支持

    模板中常用

    {if($books->isEmpty())}
    //是否为空的判断
    
    {$books->currentPage()}
    //当前页码的获取
    
    {$books->lastPage()}
    //最后一页页码的获取
    打赏支持我写出更多好文章,谢谢!
    打赏作者
    +

    (^_^)打个赏喝个咖啡(^_^)

    微信支付
    支付宝支付
  • 相关阅读:
    为CheckBoxList每个项目添加一张图片
    计算字符串中各个字符串出现的次数
    显示相同数字相乘的结果,直到数值大于150为止
    实例4 函数的引用调用
    嵌入式BootLoader技术内幕(二)
    实例2 关系和逻辑运算
    linux环境变量的系统设置
    嵌入式BootLoader技术内幕(三)
    supervivi的一点秘密
    Bootloader之vivi
  • 原文地址:https://www.cnblogs.com/yangf2016/p/7851508.html
Copyright © 2020-2023  润新知