您的位置:首页 > 行业新知 > 电商 > 正文

深圳五六网络解析web应用中分页计数的优化技术

作者:admin  来源:深圳五六网络商城分销开发中心  时间:2017-04-19 17:50:43  浏览量:
  在企业网站建设的web应用中在信息列表、内容页等页面软长的地方都会遇到分页的问题。分页时需要要查列表并计算总行数,然后才能知道分几页。如一个列表页有126行,一页20行

  在企业网站建设的web应用中在信息列表、内容页等页面软长的地方都会遇到分页的问题。分页时需要要查列表并计算总行数,然后才能知道分几页。如一个列表页有126行,一页20行的话就需要分7页。其计算方式是:

  计算总行数:select count(*) from tablename where …查询列表select * from tablename where … limit…以上这种方式是在没有任何优化的方式下的列表分页方式,在数据更新频率不是很高的情况下,点第1页,第2页。。。第n页,其实在第一句sql得到的结果都是一样的,那么后面的工作就是可以通过优化来提高速度的。

 www.56xd.cn-03302.jpg


  一种情况是:网站列表分页链接第2页是这样的list.php?page=2&count=126在程序上加一个判断来对列表进行优化:

  if ($_GET['count']) {

  $count = $_GET['count'];

  } else {

  $count =select count(*) from tablename where …}

  这样优化以后如果我们只有第一页才计算总数,后面的页数都不用了,从而提升了网站列表分页的效率。

  还有这么种情况是:在模糊查询的情况下,都去计算总数是没有必要的,而且模糊查询效率也比较低。所以我们可以先查询列表,如果列表结果数=20,那么我们再查询总行数,如果小于20的话那么就只有一页。

  伪代码为:

  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}

  以上代码可能比较难看懂,不过在这里深圳五六网络小编要为大家介绍的是一种思路,明白了思路以后就可以自己写了。

  当然,还有一种可以直接查收而不计算总行数的方法,即通过当前列表结果是否=20来决定是否显示下一页链接。我们需要明折的是列表分页的方式有很多,弄清楚思路才是最重要的,所以在网站建设的web应用中分页计数优化的重点在于找准备思路问题。

更多有关广东网站建设深圳网站设计、网站制作、微信营销、移动网站建设、微信分销商城开发M2O/跨境电商开发、企业各种互联网应用开发及企业形象设计等互联网应用服务详情公司官网:http://www.56xd.cn/