首页 > 开发 > PHP > 正文

PHP简单分页函数代码总结

2024-05-04 23:06:48
字体:
来源:转载
供稿:网友

在我做过这么多的php开发了我发现两种分页类型,一种分页是直接把数据库连接与分页连接在了一起,另外一种分页函数只有分页的逻辑判断并没有数据库的参与了,后者更好维护与重复使用一些,前者维护麻烦不好重复利用,下面我都给大家整理几个例子.

例子一,这个分页函数就有连接数据库再查看,代码不详细解说了,注释里有:

  1. <?php 
  2.   //page当前页,num每页的页数 
  3.   $page=isset($_GET['page'])?intval($_GET['page']):1; 
  4.   $num=5; 
  5.   $conn = mysql_connect('127.0.0.1','root',''); 
  6.   if (!$conn) { 
  7.    die('Could not connect:'.mysql_error()); 
  8.   } 
  9.   mysql_select_db('shop'); 
  10.   //获取记录总数 
  11.   $total=mysql_num_rows(mysql_query("select * from user")); 
  12.   //计算页数 
  13.   $pagenum=ceil($total/$num); 
  14.   //限制页数不能超出范围 
  15.   If($page>$pagenum || $page == 0){ 
  16.     Echo 'Error : Can Not Found The page.'
  17.     Exit
  18.   } 
  19.   //语句“Select * from table limit 0,10”从table表提取十条信息,0为起点,10为提取的数目 
  20.   //$offset为起点值,如当前页为第一页,每页5条,起点即为0,同理当前为第二页,起点将为5 
  21.   $offset=($page-1)*$num
  22.   $result=mysql_query("select * from user limit $offset,$num"); 
  23.   while($it=mysql_fetch_array($result)){ 
  24.     echo 'id:'.$it['id'].' name:'.$it['name'].'<br />'
  25.   } 
  26.   //显示链接页面切换链接,当前页无链接 
  27.   for($i=1;$i<=$pagenum;$i++){ 
  28.     $show=($i!=$page)?"<a href='index.php?page=".$i."'>$i</a>":"<b>$i</b>"
  29.     echo $show." "
  30.   } 
  31.   echo $total.'条记录,每页5条,共'.$pagenum.'页'
  32.    mysql_free_result($result); 
  33.   mysql_close($conn); 
  34. ?> 

例子二,直接的把分页代码逻辑提出来,重复利用比较好,代码如下:

  1. <?php 
  2.   /* 
  3.     #函数:csPage 
  4.     #功能:返回页面列表 
  5.   */ 
  6.   Function csPage($iPage,$aPage,$urlStart,$urlEnd){ 
  7.     $tmp = ""
  8.     if($iPage == 1 && $aPage == 1){ 
  9.       $tmp = "<strong> 1/1 </strong>"
  10.     }else
  11.       if($iPage == 1){ 
  12.         $tmp = "<span> |< </span><span> << </span>"
  13.       }else
  14.         $tmp = '<a title="首页" href="' . $UrlStart . 1 . $urlEnd . '"> |< </a><a title="上一页" href="' . $UrlStart . ($iPage-1) . $urlEnd . '"> << </a>'
  15.       } 
  16.       $tmp .= "<strong> " . $iPage . "/" . $aPage . " </strong>"
  17.       if($iPage == $aPage){ 
  18.         $tmp .= '<span> >> </span><span> >| </span>'
  19.       }else
  20.         $tmp .= '<a title="下一页" href="' . $urlStart . ($iPage+1) . $urlEnd .' "> >> </a><a title="尾页" href="' . $urlStart . $aPage . $urlEnd . '"> >| </a>'
  21.       } 
  22.     } 
  23.     return $tmp
  24.   } 
  25.   ?> 

总结一下:如果让我们选择可能我会选择第二种方法这样维护好实现方法简单,第一种分页适合初学者合适简单但维护复杂.

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表