这样才能知道分几页。
比如说一个列表结果是126行,如果一页20行的话那么分7页,对吧。
我们的代码经理是这样的:
计算总行数:select count(*) from tablename where …..
查询列表select * from tablename where … limit…
我们看这种方式再没有任何优化的方式下这样第个列表都是再次查询。
首先我们假设数据更新频率不是很高的情况下,我们点第1页,第2页 。。。第n页 其实第一句sql得到的都是同一个结果,这样是不是后面都在做重复工作呢。那我们第1页得到结果数后是不是可以将结果一下传递下去就行了。
例如我们分页链接第2页是这样的 list.php?page=2&count=126
在程序上加一个判断:
if ($_get['count']) { $count = $_get['count']; } else { $count =select count(*) from tablename where ….. }
if ($_get['page']<2) { $list = select * from tablename where … limit 0,20 第一页时直接查询前20条 if (count($list)=20) { $count =select count(*) from tablename where ….. } else { $count =count($list); } } else { $count = $_get['count']; $list = select * from tablename where … limit page-1*20,page-1*20+20 }