例子一,这个分页函数就有连接数据库再查看
代码不详细解说了,注释里有
代码如下 | 复制代码 |
<?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); //限制页数不能超 www.111cn.net 出范围 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; } ?> |
总结一下,
如果让我们选择可能我会选择第二种方法这样维护好实现方法简单,第一种分页适合初学者合适简单但维护复杂。
时间: 2024-10-05 08:07:21