加入收藏 | 设为首页 | 会员中心 | 我要投稿 伊春站长网 (https://www.0458zz.com/)- 管理运维、图像技术、数据标注、智能营销、数据计算!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP简单分页函数代码总结

发布时间:2022-07-22 09:19:13 所属栏目:PHP教程 来源:互联网
导读:在我做过这么多的php开发了我发现两种分页类型,一种分页是直接把数据库连接与分页连接在了一起,另外一种分页函数只有分页的逻辑判断并没有数据库的参与了,后者更好维护与重复使用一些,前者维护麻烦不好重复利用,下面我都给大家整理几个例子. 例子一,这个分页
  在我做过这么多的php开发了我发现两种分页类型,一种分页是直接把数据库连接与分页连接在了一起,另外一种分页函数只有分页的逻辑判断并没有数据库的参与了,后者更好维护与重复使用一些,前者维护麻烦不好重复利用,下面我都给大家整理几个例子.
 
  例子一,这个分页函数就有连接数据库再查看,代码不详细解说了,注释里有:
 
  <?php
    //page当前页,num每页的页数
    $page=isset($_GET['page'])?intval($_GET['page']):1;
    $num=5;
    $conn = mysql_connect('127.0.0.1','root','');
    if (!$conn) {
     die('Could not connect:'.mysql_error());
    }
    mysql_select_db('shop');
    //获取记录总数
    $total=mysql_num_rows(mysql_query("select * from user"));
    //计算页数
    $pagenum=ceil($total/$num);
    //限制页数不能超出范围
    If($page>$pagenum || $page == 0){
      Echo 'Error : Can Not Found The page.';
      Exit;
    }
    //语句“Select * from table limit 0,10”从table表提取十条信息,0为起点,10为提取的数目
    //$offset为起点值,如当前页为第一页,每页5条,起点即为0,同理当前为第二页,起点将为5
    $offset=($page-1)*$num;
    $result=mysql_query("select * from user limit $offset,$num");
    while($it=mysql_fetch_array($result)){
      echo 'id:'.$it['id'].' name:'.$it['name'].'<br />';
    }
    //显示链接页面切换链接,当前页无链接
    for($i=1;$i<=$pagenum;$i++){
      $show=($i!=$page)?"<a href='index.php?page=".$i."'>$i</a>":"<b>$i</b>";
      echo $show." ";
    }
    echo $total.'条记录,每页5条,共'.$pagenum.'页';
     mysql_free_result($result);
    mysql_close($conn);
  ?>
  例子二,直接的把分页代码逻辑提出来,重复利用比较好,代码如下:
 
  <?php
    /*
      #函数:csPage
      #功能:返回页面列表
    */
    Function csPage($iPage,$aPage,$urlStart,$urlEnd){
      $tmp = "";
      if($iPage == 1 && $aPage == 1){
        $tmp = "<strong> 1/1 </strong>";
      }else{
        if($iPage == 1){
          $tmp = "<span> |< </span><span> << </span>";
        }else{
          $tmp = '<a title="首页" href="' . $UrlStart . 1 . $urlEnd . '"> |< </a><a title="上一页" href="' . $UrlStart . ($iPage-1) . $urlEnd . '"> << </a>';
        }
        $tmp .= "<strong> " . $iPage . "/" . $aPage . " </strong>";
        if($iPage == $aPage){
          $tmp .= '<span> >> </span><span> >| </span>';
        }else{
          $tmp .= '<a title="下一页" href="' . $urlStart . ($iPage+1) . $urlEnd .' "> >> </a><a title="尾页" href="' . $urlStart . $aPage . $urlEnd . '"> >| </a>';
        }
      }
      return $tmp;
    }
    ?>
  总结一下:如果让我们选择可能我会选择第二种方法这样维护好实现方法简单,第一种分页适合初学者合适简单但维护复杂.

(编辑:伊春站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读