王志勇 发表于 2009年02月25日 19:52
分页是程序永恒的主题,2002年的时候我曾经见过一个留言板的分页程序,但是很难读懂。于是我大约在2005年的时候做了一个很大的改进,推算了另一种简单易读的方法,目前我所有的分页程序都是用此方法,这个算法从来没有出过错,无论是ASP、ASP.net、PHP、JSP,还是CGI,都是可以通用的。例如博客或者论坛程序中,以PHP为例,用此程序可以计算出总页数$p、当前页的起始位置$w1的值和结束位置$w2的值,程序如下: <?$pa=$_GET["page"]; //或者省略查询ID名$pa=$_SERVER['QUERY_STRING']; 说明: 分页时,读取多篇博客文章的方法: for ($i=w1; $i<=w2; $i++){} 这是比较简单易读的算法。在搜索程序中,或者打开多段数据库的时候,分页程序就会复杂很多,我曾经连续做了好几天的演算。 在打开多段数据的时候,对于分页的处理会复杂很多。通常情况下,只打开一段数据库,分页程序比较容易实现,如这里。 这个分页程序可以简化为:
if ($pa) $pa=1;
$w3=10;
$w4=$auf/$w3;
$w5=floor($w4);
$p=$w5+1;
if ($w5==$w4) $p=$w5;
if (!$p) $p=1;
$w1=($pa-1)*$w3+1;
$w2=$w3+$w1-1;
if ($w2>$auf) $w2=$auf;?>
这个思路很清晰的!这样子只适合ID为连续的啊?
我一直是用SQL语句实现的分页,觉得效率好点。分页有点恼火哦,总是为了显示几个页码链接写很长的代码才能实现。
select top 页大小 *
from table1
where id>
(select max (id) from
(select top ((页码-1)*页大小) id from table1 order by id) as T
)
order by id
不过这个语句要是里面涉及到的表连接比较多就有点难写了,有时候调试这个SQL语句都得分析好半天。
http://www.cnblogs.com/yzwdli/archive/2007/12/06/984743.html
Trackback来自 《记笔记是编程的好习惯》
Trackback来自 《日记:2010-04-05》
<?//$pa为页数
$w3=10;
$p=ceil($auf/$w3);
if (!$p) $p=1;
$w1=($pa-1)*$w3+1;
$w2=$pa*$w3;
if ($w2>$auf) $w2=$auf;?>
| (点击申请) |
文章分类 Category:
Blog的发展 Development
为什么写博客 W-do we Blog
互联网 Internet
社会 Society
教育 Education
BBS社区研究 Community
编程 Program
友人 Younet
QQ研究 QQ Research
公告 Announcement
最新的评论 Comments:
» 毁谤别人的匿名者
» 一家门户网站的博客管理
» Entropay(欧贝
» 又一位不可思议的扮音天
» Google搜索结果在
» 声卡无声硬件排除一例
» 如何关闭ixwebho
» 今天值得纪念的数字
近期的主题:
2012-01-26:多了解一些信息没有坏处
日益低效的快递
关于香港地铁吃东西事件的翻译
2012-01-15:怜悯和爱
惨不忍睹的网站空间(人为造成)
QQ空间不能发表日志/说说/微博解决一例
新年的钟声敲响了
惠州之印象
2011-10-20:最近4个不好的用户体验
女童遭辗压无人帮助视频之感想
网络才是真实的,现实一切都是幻象
本博客的程序有发布的计划
真正的神曲和一些圣乐分享和回顾
Go Daddy的97.74 IP段又被大规模killed
时间过得很快
国外的域名查询也不安全
祝我31周岁生日快乐
有关国内近两年史无前例的清晰的UFO
Android(安卓)平板电脑的使用体验
2011-08-24:经验 & 近期动态
2011-08-03 养花
2011-06-18
2011-06-02:同龄人年轻程度却相差10岁
2011-05-28:随谈(浅谈)中英文输入速度
Go Daddy空间切换系统更换IP时现在需要慎选4GH主机
2011-05-18:随谈现实与理想(8)
随谈:2011-05-18 贴吧与新闻评论的管理
随谈:2011-05-13 心情很沉重很沉重
随谈:2011-05-08 有良知的人会提升
博客不应大量转载
随谈:2011-04-28 通过网络调查真相当中的一个途径之一
有关UFO与2012的谦卑交流与解答(1)
cPanel的主机网页长时间500错误解决一例
版权声明:本博客所有文章,均符合原创和创作共用的定义,禁止转载,违者将必究;正确的方法是贴原文的标题和网址即可。
与此相关的链接
和平海底2 | Auciou | 自由勇专栏
公益:UFO与真相研究交流区
Gratitude | Time
Blog存档 Archives
2012年01月(N)
2011年10月(8)
2011年09月(4)
2011年08月(2)
2011年06月(2)
2011年05月(6)
2011年04月(10)
2011年03月(16)
2011年02月(16)
2011年01月(15)
2010年12月(12)
2010年11月(9)
2010年10月(3)
2010年05月(4)
2010年01月(7)
2009年12月(10)
2009年11月(4)
2009年10月(8)
2009年09月(24)
2009年08月(20)
2009年07月(6)
2009年06月(11)
2009年05月(16)
2009年04月(20)
2009年03月(29)
2009年02月(18)
2009年01月(15)
2008年12月(17)
2008年11月(10)
2008年10月(13)
2008年09月(8)
2008年08月(4)
2008年07月(5)
2008年06月(9)
2008年05月(12)
2008年04月(15)
2008年03月(26)
2008年02月(22)
2008年01月(29)
2007年12月(30)
2007年11月(28)
2007年10月(30)
2007年09月(8)
2007年08月(8)
2007年07月(21)
2007年06月(23)
2007年05月(31)
2007年04月(34)
2007年03月(29)
2007年02月(18)
2007年01月(41)
2006年12月(23)
2006年11月(10)
2006年10月(10)
2006年09月(29)
2006年08月(33)
2006年07月(17)
2006年06月(30)
2006年05月(4)
2006年01月(3)
2005年09月(4)