php分页内容加载与分页条异步加载

来源:互联网 发布:淘宝店铺信誉等级表 编辑:程序博客网 时间:2024/05/01 21:46

  在分页的程序中通常都需要这样两个数,一个是总数 toatal,一个是每页保存数,page_count,其他的总页数,每页应该显示 每几条到第几条的数据全都是计算出来的,不需要外部传入。所以每取一次分页都会做一个select count(id) from xxx之类的操作和一个select a,b,c from xxx limit m ,n 或者用 rownum,如:select t1.* from ( select t2.*, rownum rn from ( select t.* from kill_project t) t2 where rownum <5) t1 where rn >1。当数据量大的时候这个select count()会变得有点慢,开销也就比较大。所以我的改造方案是这样的:

1、当在取分页数据 的时候,只关注分页的页数,而不关注总数,如每页10,则传第2页,然后取11-20条数据就可,当然这时候默认的总页数肯定要比实际库里面的总页数大。这样就可以取当前页要显示 的数据内容。

2、取完当前页要显示 的内容 以后就可以ajax去请求库里满足条件的总共有多少条,这样就根据总数和每页显示的条数去生成分页条的内容。然后用js更必改页面元素显示出分页条的信息。这样分页数据就可以显示出来。页面显示也不会出错。

3、当然这种做法要做到两次请求的参数要保持一致。尤其ajax请求时一定要带上当前第几页这个参数,不能忘。不然分页数据会显示不正确,有点小麻烦,一定要细心设计好。

作用吗?显示数据肯定比较 快了少了一个开销很大的sql。还是值 得的。当然数据量不大就不必做这个了。挺费劲的。


原创粉丝点击