zoukankan      html  css  js  c++  java
  • 黑马lavarel教程---13、分页

    黑马lavarel教程---13、分页

    一、总结

    一句话总结:

    - lavarel里面的分页操作和tp里面的分页操作几乎是一模一样的
    - 控制器:$data=Lesson::paginate(2);
    - 视图:{{$data->links()}}

    二、数据分页

    在laravel里面要完成分页是很简单的,它的思想之前的框架有些不一样,之前框架使用的是分页类完成分页,laravel是直接调用模型的分页方法,返回对应的数据和分页的字符串。

    分页类的在框架中的位置(了解):

    案例:使用分页功能实现当前member数据表的分页效果。由于数据量较少,可以考虑每页显示1个记录,重点是分页的效果

    回忆/问题:分页效果的实现大致需要哪几个步骤才能实现?

           a. 查询符合分页条件的总的记录数

    b. 计算总的页数(总记录数/每页记录数,并且向上取整)

    c. 拼凑分页的链接

    d. (核心)使用limit语法来限制分页的记录数

    e. 展示分页的页码和分页数据

    f. 如果可以,建议去考虑下分页的样式显示问题

    ①创建路由,并且展示简易列表页面(table标签布局)

    路由:

    创建列表文件:

    ②编写控制器中的方法代码,实现没有分页的效果(先不考虑分页效果)

    ③展示数据

    无分页展示效果:

    ④【案例】使用分页展示上述的页面

    要求:每页显示一条记录。

    在laravel中分页有2个提供者:DB查询构建器,另外可以使用模型来实现

    用法基本一致。

    以模型为例:

    分页的基本语法:

    Model::paginate(每页显示的记录数)                  同样,paginate和get一样,支持使用where以及orderBy等辅助查询的方法。

    不展示分页链接的效果:

    在页面中展示分页链接:

    语法:{{$保存数据的对象 -> links()}}生成的链接

    目前显示效果:

    ⑤【可选】将页面的提示“>>”和“<<”改成上一页和下一页提示文字

    直接改源码文件:

    改为提示文字:

    注意:可以使用simplePaginate()表示简单分页,只有上一页和下一页,没有分页字符串。

    例如:$info = Member::orderby('age','desc')->simplePaginate(2);

    附:分页数据对象的其他实用方法如下

    分页数据对象->count()                             //当前页数据条数

    分页数据对象->currentPage()         //当前页码

    分页数据对象->firstItem()                     //当前页第一条数据的序号

    分页数据对象->hasMorePages()             //是否有后续页码

    分页数据对象->lastItem()                     //当前页最后一条数据的序号

    分页数据对象->lastPage()                       //最后页序号

    分页数据对象->nextPageUrl()          //下一页的链接地址

    分页数据对象->perPage()                          //每页显示数据条数

    分页数据对象->previousPageUrl()  //上一页的链接地址

    分页数据对象->total()                                    //记录总条数

    分页数据对象->url(5)                        //制作指定页码的链接地址

    将页码稍作处理,写的好看点:

    样式代码可以百度上寻找:https://www.cnblogs.com/lamp01/p/6869762.html

    将css代码引入到当前的分页页面,最终显示效果:

     
  • 相关阅读:
    CSS动画:移动、缩放、旋转、倾斜的实现
    安卓Application类的使用
    Mac OS自带apache用法总结
    css3动画:过渡
    Android四大组件:BroadcastReceiver的使用
    ASP.NET Starter Kit/Duwamish/NET Pet Shop /Visual Studio 2005 Starter Kits /ASP.NET Time Tracker Starter Kit
    中国IT公司百强排名
    Visual Basic十年风云
    API例子,帮助,下载,连接等
    MyEclipse
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/11612211.html
Copyright © 2011-2022 走看看