为了账号安全,请及时绑定邮箱和手机立即绑定

PHP+MySQL分页原理实现

难度初级
时长 1小时10分
学习人数
综合评分9.33
119人评价 查看评价
9.6 内容实用
9.3 简洁易懂
9.1 逻辑清晰
源码在此 这是 第8页 最后一页
if($page < $total_pages){
$page_banner = "<a href='".$_SERVER['PHP_SELF']."'?p=".($page+1)."'>下一页</a>";
$page_banner = "<a href='".$_SERVER['PHP_SELF']."'?p=".($total_pages)."'>尾页</a>";
}
$page_banner.= "共{$total_pages}页/当前页:{$page}";
//echo输出
echo $page_banner;
源码在此 这是 第七页
for($i = $start; $i<=$end; $i++){
$page_banner = "<a href='".$_SERVER['PHP_SELF']."'?p=".$i."'>{$i}</a>";
}

//尾部省略
if($total_pages > $showPage && $total_pages > $page + $pageoffset){
$showPage = "...";
}
源码在此 这是 第六页
$start = 1;
$end = $total_pages > $showPage ? $showPage : $total_pages;
}
if($page + $pageoffset > $total_pages){
$start = $start - ($page + $pageoffset - $end);
}
}
源码在此 这是 第五页
if ($total_pages > $showPage){
if($page > $pageoffset + 1){
$showPage = "...";
}
if($page > $pageoffset){
$start = $page - $pageoffset;
$end = $total_pages > $page+$pageoffset ? $page+$pageoffset : $total_pages;
}else{
源码在此 这是 第四页
//计算偏移量
$pageoffset = ($showPage-1)/2;
if($page > 1){
$page_banner = "<a href='".$_SERVER['PHP_SELF']."'?p=1'>首页</a>";
$page_banner = "<a href='".$_SERVER['PHP_SELF']."'?p=".($page-1)."'>上一页</a>";
}
//初始化数据
$start = 1;
$end = $total_pages;
源码在此 这是 第三页
//释放结果,关闭连接
mysql_free_result($result);
//获取数据总数
$total_sql = "SELECT COUNT(*) FROM page";
$total_result = mysql_fetch_array(mysql_query($total_sql));
$total = $total_result[0];
//计算页数
$total_pages = ceil($total/$pageSize);
mysql_close($conn);
/** 3 显示数据 + 分页条 **/
$page_banner = "";
源码在此 这是 第二页 这里和下面的源码无关
//选择所要操作的数据库
mysql_select_db($db);
//设置数据库编码格式
mysql_query("SET NAMES UTF8");
//编写sql获取分页数据 SELECT * FROM 表名 LIMIT 起始位置,显示条数
$sql = "SELECT * FROM page LIMIT ".($page-1) * 10.", 10";
//把sql语句传送数据库中
$result = mysql_query($sql);
//处理我们的数据
echo "<table>"
源码在此 这是 第一页 这里和下面的源码无关
<?php
//1 传入页码
$page = $_GET['p'];
//2 根据页码取出数据:php->mysql处理
$host = "localhost";
$username = "root";
$password = "";
$db = "test";
$pageSize = "10";
$showPage = "5";
//连接数据库
$conn = mysql_connect($host,$username,$password);
if(!$conn){
echo "数据库连接错误";
exit;
}
老师辛苦了,但是你这样做,每点一次下一页都会查询一次数据库,如果几万个,几十万人同时点,数据库不就挂了?
老师辛苦了,我看了下,已经是晚上一点钟了。
讲的太没逻辑性 , 不好理解。
分页的逻辑倒是很简单,就是分页条的省略号效果听得有点迷糊了,脑子一下子还转不过来
请把讲解的代码分享一下吧,谢谢!
我在公司做前端,是前端用angularjs写的一个分页组件,前端传相应页码参数,和显示条数,无语了
没有源码啊
课程须知
学习本门课程之前,建议先了解一下知识,会更有助于理解和掌握本门课程 1、掌握PHP基本的语言语法 2、了解PHP生命周期与PHP运行环境 3、了解php+mysql的基本使用
老师告诉你能学到什么?
1.加深php和mysql结合使用, 2.了解分页的原理, 3.具备一定负责逻辑的处理能力, 4.掌握一定的前端知识。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消