分析:1.首先需要一个参数pageno用于纪录当前叶面的序号,然后下一页就序号加一传递给自己,上一页序号减1传递给自己.首页自然序号是1,末页就是计算出来的(纪录数/每页的显示纪录数+1).
2.这个页面的显示是这样显示的:如果数据库本身支持纪录序号(mysql的limit,oracle的rownum),则过滤出纪录序号为(每页的显示纪录数*(pageno-1)到每页的显示纪录数*pageno),如果数据库不支持纪录序号,则纪录循环while里面计数判断是否是当前页的显示内容.是就显示,不是就不显示.
2.这个页面的显示是这样显示的:如果数据库本身支持纪录序号(mysql的limit,oracle的rownum),则过滤出纪录序号为(每页的显示纪录数*(pageno-1)到每页的显示纪录数*pageno),如果数据库不支持纪录序号,则纪录循环while里面计数判断是否是当前页的显示内容.是就显示,不是就不显示.
1、滚动结果集,这个方法需要把结果集放在session里面,俺自认为没有效率,从来也没有试过
2、查询语句分页,先找到有多少条符合条件的记录,然后根据分页条数使用limit(mysql)或者top(mssql)做第二次查询来分页,第二查询得到的所有记录都是当前页的记录。
3,一次查询,做循环输出,比如每页显示10条记录,那么第二页,就是从递11条开始显示前面的跳过不显示。