近日一直在研究如何才能写出高小的分页算法,大概整理了一下,思路如下:
首先数据库里需要有一个自动编号字段(id).然后第一次访问的时候,取出所有记录,定制好每页的记录数pagesize,计算出页数,然后根据页数建立一个一维数组pageid(pagecount),pageid(0)保存记录初试条件,然后对应每个元素保存每页对应的id边界码 【程序编程相关:Dev-Cpp/Mingw32 环境介绍】 【推荐阅读:加密解密概念】 1,id边界码:如果数据库记录id记录序列如下 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 【扩展信息:VC中的__declspec能作什么-前】( 假设需要按照id 顺序排序的话 ,pagesize = 5, pagecount = 4 ,pageid(4) 数组pageid的值分别为pageid(0) = 1, pageid(1) = 5 ,pageid(2) = 10,pageid(3) = 15 ,pageid(4) = 16 当访问第 i 页的时候就直接找 [pageid(i-1) , pageid(i) ) 之间的记录,这样可以保证每次取的记录都只是pagesize 条记录. 假设需要按照id倒序排列的话, 数组pageid的值分别为pageid(0) = 16 , pageid(1) = 12 , pageid(2) = 7 ,pageid(3) = 2, pageid(4) = 1, 当访问第 i 页的时候就直接查找id属于[ pageid(i-1) , pageid(i) ))
将数组pageid()保存在application()中,以便访问,这样,只是第一次访问分页程序的时候便初始化application().代码部分如下:(下面称为新程序)... 下一页