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);
//限制页数不能超 php 出范围
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;
}
?>总结一下,
如果让我们选择可能我会选择第二种方法这样维护好实现方法简单,第一种分页适合初学者合适简单但维护复杂。
本文地址:http://www.phprm.com/code/61325.html
转载随意,但请附上文章地址:-)