分页显示与显示全部记录的功能相比,相同之处是同样都需要先得到所有的数据。不
同之处在于,后者显示所有记录,前者显示部分记录。
如何控制只显示部分记录呢?这就需要知道要显示哪一部分记录,也就是从哪条记录
开始显示,显示到哪条记录。要想知道要显示哪些记录,就需要知道每次显示多少记录,
要显示第几页,有了这些信息才能算出从哪条记录开始显示,显示到哪条记录。所以这里
需要知道两项信息:每页显示的记录数和显示第几页。
每页显示的记录数通常是定义好的,直接使用即可。显示第几页则是动态的,第一次
没有人告诉你显示第几页,就显示第一页,以后显示第几页需要用户选择(通过超链接)或者
输入(输入框和按钮)。
所以需要设计传递页码的“第一页”、“上一页”、“下一页”和“最后一页”以及输入
框等。
另外,前面提到要显示“共有多少页”,需要根据总的记录数以及每页显示的记录数进
行计算。最后一页的控制也需要知道共有多少页。
分页显示要显示部分数据,可以有三种处理方式:第一种,把所有信息全部查询出来,
然后在显示的时候进行控制;第二种,只把要显示的信息返回给界面,在界面上不用控制;
第三种,只查询满足条件的记录(例如第 11 条记录到第 20 条记录),通过查询语句进行
控制。
对于第三种方式,不同的数据库的支持是不相同的,并且通常比较复杂,
下面是 MySQL 数据库提供的实现方式:
select * from usertable limit m,n
其中,m 是要显示的第一条记录,n 是要显示的最后一条记录。
需要得到总的页数,所以需要在 UserBean 中添加获取总页数的方法。下面是 MySQL 数据库提供的实现方式:
select * from usertable limit m,n
其中,m 是要显示的第一条记录,n 是要显示的最后一条记录。
需要得到总的页数,所以需要在 UserBean 中添加获取总页数的方法。