iteye本网站的分页效果?

知道的能不能指导一下,或者给我个思路。

一般会构建一个分页对象,包含当前页,每页容量,总容量,比如当前第45页,每页显示30条记录,共有11269条记录,根据这些可以算出共有多少页,上一页,下一页等等信息。
有了这些信息,可以按照业务逻辑得到想要的效果,例如iteye这样的,显示第一页,当前页的前三页,当前页,当前页的后六页等等。
一般后台构建模型后前台会使用分页代码块或者插件,提高复用率。
比较完整的分页功能如下:
共xxxxx页,xxxxx条记录,
[u]首页[/u],3 4[u] 5[/u] 6 7 [u]最末页[/u],[ ] 跳转

首先默认应该是第一页
进入第一页,在当前页面的标签上面给个不一样的背景
然后你确定你页面的样式需要显示几个数字,即:
1 2 3 ...8 9 或者是 1 2 3 4 5 ...
然后判断当前页面如果是第一页,那么后面继续追加currenPage+1,然后前面不显示上一页,后面显示下一页
如果当前为最后一页,那么后面就不能追加currentpage+1,后面不显示下一页,前面显示上一页
最难判断的是中间的数字
首先确定的是你前后都要有上一页和下一页
然后对当前数字进行判断,如果等于2,前面就显示一个1,如果等于3,就显示 1 2,否则前面每次显示2个数字和最前面有一个....,后面的话同理,判断如果当前页面离总页面差大于2,就直接显示2个加....,如果等于2,就直接显示currentPage+1,currentPage+2
如果等于1就只显示currentPage+1
最终效果如果当前页面为5,总页面为10,页面显示为 上一页 ... 3 4 [u]5[/u] 6 7 ...下一页
大致就是这个样子

一般网站的分页都使用插件去做,不是从零去写的。
前端使用分页的插件,配合后台的分页代码就可以了。

现在主要就是数据库分页吧。

mysql limit , or rowid 这样的。

传递当前页是多少。 然后计算。

像这种前人已经遇到过无数的例子,直接搜索可得答案!