php简单分页功能实例的原理教程php

/ / 2023-09-15   阅读:2561
php简单分页功能实例的原理教程...

代码示例:

<?php
//连接数据库
$con = mysql_connect("localhost","root","");
mysql_select_db("xueshengchu",$con);
mysql_query("set names utf8");

$pageSize = 5; //每页显示数据条数

$result = mysql_query("select * from stu_msg");
$totalNum = mysql_num_rows($result); //数据总条数

$totalPageCount = intval($totalNum/$pageSize); //总页数

//判断当前页是哪一页
$nowPage = isset($_GET['page']) ? intval($_GET['page']) : 1;
//上一页
$prev = ($nowPage-1 <= 0) ? 1 : $nowPage-1;
//下一页
$next = ($nowPage+1 >= $totalPageCount) ? $totalPageCount : $nowPage+1;

//偏移量
$offset = ($nowPage-1)*$pageSize;

/*ok,这就可以取数据啦,其实只要你明白sql语句就知道了分页原理
 * select * from table limit $offset,$size分页执行语句
*/
$sql = "select * from stu_msg limit $offset,$pageSize";
$result = mysql_query($sql,$con);
while($arr = mysql_fetch_array($result)){
    echo $arr['mid'].$arr['content']."<br />";
}
echo "<a href=\"".$_SERVER['PHP_SELF']."?page=1\">首页</a>";
echo "<a href=\"".$_SERVER['PHP_SELF']."?page=".$prev."\">上一页</a>";
echo "<a href=\"".$_SERVER['PHP_SELF']."?page=".$next."\">下一页</a>";
echo "<a href=\"".$_SERVER['PHP_SELF']."?page=".$totalPageCount."\">尾页</a>";
?>


代码分析:

1.全局变量$_SERVER['PHP_SELF']是获取脚本变量的绝对路径


2.分页的本质是将数据库的的数据一段一段的显示出来,比如上面的php实例中:

取出前5条(第一页):
select * from table limit 0,5

取出第5到1第10条(第二页):

select * from table limit 5,5

这样得出了偏移量的公式:

$offset = ($nowPage-1)*$pageSize;


3.intval() 函数是获取变量的整数值


示例效果:

dffd1515133597.png

我要评论

昵称:
验证码:

最新评论

共0条 共0页 10条/页 首页 上一页 下一页 尾页
意见反馈