静态页分页问题
时间:2009-01-15 来源:militala
静态分页,有很多思路,如果是我,我会使用:没有多少人是会看到最新的50条以后的信息的,你可以在列表第一页(50条)是静态,后面的按数据分页动态查询(使用缓存)更好。
如果要所有的都是静态,也可以,按照你的反向思路,你只要保证第一页都有最新的50条,如果需要看“更多..”,那从链接到倒数的第二页不就可以了吗,哪怕最多让读者看到有49条重复的,也无所谓啊。 作者: 太阳雨 时间: 2005-07-07 16:07:53
不是很明白cogcong的意思!
详细说明一下:
假如数据库现有100条记录,每页十条,那么生成静态时,1-10为第一页,11-20为第二页...91-100为第十页,生成的文件名分别为1.htm,2.htm...10.htm,这时第十页是最新的内容,导航页码中显示为第一页,点击打开的是最新的第十页,点最后页,显示的是1.htm(内容最旧)
现在新加了一条记录,101,程序判断它应该在第十一页,于是生成11.htm,但这个11.htm只有101这条记录,在导航在点第一页时(默认),打开的是11.htm,这个文件只有一条记录,很不好,如果你说的是保证第一页最新(即11.htm),里面的内容为92-101,这样一来跟全部重新生成1.htm-11.htm有什么区别?
全静态确实没好的办法解决,用动态+缓存可能也是一种好方法,不过这种方法也是几乎每导一次数据都要生成一次所有的页面(只不过是分开时间来生成,当第一次访问时生成,也就是有些从未有人访问的可以不生成)
如果要所有的都是静态,也可以,按照你的反向思路,你只要保证第一页都有最新的50条,如果需要看“更多..”,那从链接到倒数的第二页不就可以了吗,哪怕最多让读者看到有49条重复的,也无所谓啊。 作者: 太阳雨 时间: 2005-07-07 16:07:53
不是很明白cogcong的意思!
详细说明一下:
假如数据库现有100条记录,每页十条,那么生成静态时,1-10为第一页,11-20为第二页...91-100为第十页,生成的文件名分别为1.htm,2.htm...10.htm,这时第十页是最新的内容,导航页码中显示为第一页,点击打开的是最新的第十页,点最后页,显示的是1.htm(内容最旧)
现在新加了一条记录,101,程序判断它应该在第十一页,于是生成11.htm,但这个11.htm只有101这条记录,在导航在点第一页时(默认),打开的是11.htm,这个文件只有一条记录,很不好,如果你说的是保证第一页最新(即11.htm),里面的内容为92-101,这样一来跟全部重新生成1.htm-11.htm有什么区别?
全静态确实没好的办法解决,用动态+缓存可能也是一种好方法,不过这种方法也是几乎每导一次数据都要生成一次所有的页面(只不过是分开时间来生成,当第一次访问时生成,也就是有些从未有人访问的可以不生成)
相关阅读 更多 +