参加培训的时候,教课的老师说这是他所见过的最简单的分页写法。挺容易理解的,分享给大家

/**
*
*分页类
* @param int $num  总页数
* @param int $cnt     每页显示多少行数据
* @param int $curr     当前是第多少页
*/

 

  1. function fenye( $num,$cnt = 10,$curr = 1){
  2. // 第一步:计算一共有多少页,ceil函数是向上取整
  3. $pages = ceil( $num / $cnt );
  4. // 最左边的页码,就是当前页码减去2,如果里要显示7个页码,那就减去3,9个页码就减4,总之是页码的一半
  5. // 我这例子是显示5个页码
  6. $left = max($curr -2,1);
  7. // 拿左边的数来计算最右边的页码数,比如最左边是1,那么最右边就是5,2就是6,
  8. $right = min( $left + 4,$pages );
  9. // 再次计算左边页码,这样左右的页码就都准确了,
  10. $left = max( $right -4,1);
  11. $yema = array();
  12. for ($i= $left; $i < $right+1; $i++) {
  13. $_GET[\'page\'] = $i;
  14. $yema[$i] = http_build_query( $_GET );
  15. }
  16. return $yema;
  17. }

另外附加上讲一下http_build_query这个函数,能把数组单元用&符号拼接起来,很好用

如这样一个例子:

  1. $arr = array(\'page\'=>\'1\',\'cat_id\'=>\'100\');
  2. echo http_build_query( $arr );

结果就是“page=1&cat_id=100”,所以用的时候只要在链接里加上”?”就可以拼凑出url,如<a href = “index.php?<?php echo这个函数的结果?>”>

版权声明:本文为sanniu原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/sanniu/p/6100585.html