https://blog.csdn.net/qq_39235930/article/details/82820800
核心代码
如果这里看懂了,下面就不用看啦.
我这里用到的是 $_GET[] 方法 -->从<form action=‘链接’ ]中.
如【下面的代码复制黏贴,稍微修改一下就可以输出】
html:
<form id="form1" name="form1" method="post"
action="get1.php?page=1">
code...
</form>
php(get1.php):
<?php
$currentPage = $_GET['page']; // 当前页面=GET方法得到的 page 的值
$allPageNum = getPageNum(); // 函数(这里暂且不写实现方法), 返回的是总页数
for ($i=1; $i <=$allPageNum ; $i++) { // i=1 循环到页数完毕,也就是<= $allPageNum
if($i == $currentPage){ // 如果等于当前页数
echo ' ['.$currentPage.'] '; // 因为是当前页面就不用跳转了,不用设置<a href=''>属性
continue; // 下个循环
}// end if
echo ' <a href="get.php?page='.$i.'">'.$i.'</a> ';
}// end for
?>
假设 allPageNum =8;currentPage=3;
输出结果:
1 2 [3] 4 5 6 7 8
<?php
// 先设置获取页数,页数容量的函数
function getPageContain(){ // Function 获取页数容量
$pageContainNum = 3; // 设置一页显示多少内容
return $pageContainNum; // 返回页数容量
}
function getPageNum($all){ // Function 获取总页数
// $all 是总的数据容量-- 我是通过遍历数据库得到.
$pageContentNum = getPageContain(); // 获取页数容量
$page = ceil($all/$pageContentNum); //页数 = 向上原整【 (内容总数) /(页面容量) 】
return $page; // 返回页数
}
?>
<?php
// 此段代码可以忽视 -- 获取总数的
$sql ='select * from comment where id='.$id;
$res = $db->query($sql) or die('no search'. $sql);
$num=0;// 总数
foreach ($res as $row) {
++$num; // 获取所有条数
}
// 此段代码可以忽视 -- 获取总数的
// 获取总页数
$page = getPageNum($num); // $num -- 总数据数量
// 获取当前页数(开头讲到的方法)
$currentPage = $_GET['page'];
//获取页数容纳的数量
$pageContentNum = getPageContain();
/*
当前页的开始输出的条数 =
页数容纳的数量*(当前页数-1)*/
$pageFirst =
$pageContentNum*($currentPage-1);
/*
这一句的解说在下面
[mysql 用limit方法的详解]
*/
$sql = 'select * from comment where id="'.$id.
'" limit '.$pageFirst.','.$pageContentNum;
$res = $db->query($sql); // 遍历数据库
?>
mysql 用limit方法的详解(摘自网络)
mysql中用limit 进行分页:
例1,假设数据库表student存在13条数据。
代码示例:
语句1:select * from student limit 9,4
语句1返回表student的第10、11、12、13行 ,第一个参数表示从该参数的下一条数据开始,第二个参数表示每次返回的数据条数。
结语:
我是使用mysql和php配合生成页数的
,所以只要掌握了
[1]php自身生成页面的核心代码
[2]mysql用limit方法。