17-学生列表分页

当数据变多时,我们需要分页,这里需要用到orm中的功能,将查询的多有数据分页显示,也要用到数学计算,记录总记录,总页数,还要用到回传数据的方法,保存当前页数;说到这里大家是不是有点晕,千万别紧张,看起来复杂的事物,只要掌握了方法,一步一步去实现,就会离成功越来越近,随着练习的深入和重复的记忆,原来对于你来说困难的事物就会变得简单,话不多说,来一探究竟吧

4395895-8fceeaa29b103362.gif
效果图.gif

0.知识点

orm新知识点:
回传指定表中指定索引(从0开始),开始的N条数据
qs.Limit(2,0).All(&students)
第一个参数:返回的数据条数
第二个参数:开始索引,默认从0开始

高级查询Count()函数


4395895-cd3918459369336f.png
image.png

计算数据类型转换:
例如:totalPages:=math.ceil(float64(totalCount)/float64(pageSize))
c.Data["totalPages"]=int(totalPages)
解析:这里避免整数除整数得到整数,为了求出正确的总页数
比如:8/2=4 ; 5/2=3都能显示正确的页数
上传数据要是整形,而不是float64,所以上传的时候又做了一次类型转换

根据当前页数和每页的容量计算查询的起始索引:
start:=(pageIndex-1)pageSize
比如:(3-1)
2=4 ; 要显示第三页从第4条数据开始读取,01/23/4
(4-1)*2=6 ; 01/23/45/6

模板语法新知识点1:


4395895-1ab599332d63e051.png
image.png

4395895-eeb78fa6845035f2.png
image.png

模板语法新知识点2:


4395895-217b0e12bae93fb0.png
image.png

4395895-671316bb0452e15e.png
image.png

会将函数的返回值返回给模板

一.业务逻辑

4395895-3a02b8b1fcf68061.png
分页.png

二.分页-界面列表

4395895-3e145a869b6c9915.png
image.png

4395895-0effac5c45518580.png
image.png

三.分页-数据处理

4395895-75afb6c16ab9f9e2.png
image.png

四.分页-功能逻辑

4395895-514cb294fca319d8.png
image.png

猜你喜欢

转载自blog.csdn.net/weixin_33951761/article/details/87656893