zoukankan      html  css  js  c++  java
  • Laravel 数据分页

    二、数据分页
    在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代码引入到当前的分页页面,最终显示效果:
    在这里插入图片描述

  • 相关阅读:
    【洛谷 P4166】 [SCOI2007]最大土地面积(凸包,旋转卡壳)
    专题
    【洛谷 P3299】 [SDOI2013]保护出题人 (凸包,三分,斜率优化)
    【洛谷 P3628】 [APIO2010]特别行动队 (斜率优化)
    $POJ1995$ $Raising$ $Modulo$ $Numbers$
    快速运算模板(未完待续)
    $Luogu$ $P1879$ $[USACO06NOV]$ 玉米田 $Corn Fields$
    [转载] $AT2444$ 题解
    [转载] $CF117B$ 题解
    [转载] $CF543B$ 题解
  • 原文地址:https://www.cnblogs.com/wjlbk/p/12633529.html
Copyright © 2011-2022 走看看