PHP和MYSQL实现分页导航思路详解


Posted in PHP onApril 11, 2017

 预期效果

PHP和MYSQL实现分页导航思路详解

思路

通过SQL语句 SELECT * FROM table LIMIT start end 来从MySql数据库

步骤

传入页码p;

根据页码获取数据php->mysql

显示数据+分页条

源码

github 链接

注意点

  • table,input,button等控件的样式不会继承body,需要重新定义如下
input,label, select,option,textarea,button,fieldset,legend,table{
font-size:18px;
FONT-FAMILY:verdana;
}
  • 在进行查询数据库语言拼接的时候,LIMIT关键字后面要留空格,且拼接的内容要用括弧包裹
$sql= "SELECT * FROM pages LIMIT ".(($page-1)*5).",5";
  • 在显示页的时候,作者的逻辑比较复杂,可以简化梳理
//1,主要是$total_pages > $show_page,特殊情况再另外考虑;
//2,再利用for循环显示全部;
//3,再考虑前面的省略号
if($total_pages>$show_page){
 //考虑正常情况下,...456...下一页 尾页
 if($page-$page_off> 1) 
$page_banner.="...";
$start=$page-$page_off;
 //非正常情况下,12...下一页 尾页
 if($start== 0)
$start= 1;
$end=$page+$page_off;
 //...78 总共8页
 if($end>$total_pages)
$end=$total_pages;
 for($i=$start;$i<=$end;$i++){
 //当前页显示高亮
 if($page==$i){
$page_banner.="<span class='current'>$i</span>";
 }else{
$page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=".$i."'>{$i}</a>";
 }
 }
 if($page+$page_off<$total_pages)
$page_banner.="...";
 //显示尾页与下一页
 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>";
 }else{
$page_banner.="<span class='disable'>下一页></span>";
$page_banner.="<span class='disable'>尾页</span>";
 }
}

最终效果

PHP和MYSQL实现分页导航思路详解 

以上所述是小编给大家介绍的PHP和MYSQL实现分页导航思路详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
PHP.MVC的模板标签系统(三)
Sep 05 PHP
mysql5写入和读出乱码解决
Nov 25 PHP
PHP 反射机制实现动态代理的代码
Oct 22 PHP
PHP计划任务、定时执行任务的实现代码
Apr 23 PHP
php随机显示图片的简单示例
Feb 15 PHP
ThinkPHP的L方法使用简介
Jun 18 PHP
PHP中的日期加减方法示例
Aug 21 PHP
mac系统下为 php 添加 pcntl 扩展
Aug 28 PHP
php curl优化下载微信头像的方法总结
Sep 07 PHP
PHP赋值的内部是如何跑的详解
Jan 13 PHP
Laravel访问出错提示:`Warning: require(/vendor/autoload.php): failed to open stream: No such file or di解决方法
Apr 02 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
Mar 26 PHP
php 一维数组的循环遍历实现代码
Apr 10 #PHP
删除PHP数组中的重复元素的实现代码
Apr 10 #PHP
删除PHP数组中头部、尾部、任意元素的实现代码
Apr 10 #PHP
PHP数组中头部和尾部添加元素的方法(array_unshift,array_push)
Apr 10 #PHP
yii2使用gridView实现下拉列表筛选数据
Apr 10 #PHP
在IIS下安装PHP扩展的方法(超简单)
Apr 10 #PHP
php 静态属性和静态方法区别详解
Apr 09 #PHP
You might like
PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法
2016/04/01 PHP
php实现留言板功能(代码详解)
2017/03/28 PHP
CentOS系统中PHP安装扩展的方式汇总
2017/04/09 PHP
详解PHP防止直接访问.php 文件的实现方法
2017/07/28 PHP
thinkPHP框架实现多表查询的方法
2018/06/14 PHP
基于php伪静态的实现方法解析
2020/07/31 PHP
PHP+Mysql分布式事务与解决方案深入理解
2021/02/27 PHP
前后台交互过程中json格式如何解析以及如何生成
2012/12/26 Javascript
web的各种前端打印方法之jquery打印插件PrintArea实现网页打印
2013/01/09 Javascript
jquery ajax中使用jsonp的限制解决方法
2013/11/22 Javascript
百度地图API之本地搜索与范围搜索
2015/07/30 Javascript
在JavaScript中call()与apply()区别
2016/01/22 Javascript
bootstrap输入框组使用方法
2017/02/07 Javascript
webpack3+React 的配置全解
2017/08/21 Javascript
vue 父组件调用子组件方法及事件
2018/03/29 Javascript
[35:26]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第三局
2016/02/26 DOTA
使用Python编写一个模仿CPU工作的程序
2015/04/16 Python
python常见的格式化输出小结
2016/12/15 Python
基于Linux系统中python matplotlib画图的中文显示问题的解决方法
2017/06/15 Python
使用python编写udp协议的ping程序方法
2018/04/22 Python
Python+PyQt5实现美剧爬虫可视工具的方法
2019/04/25 Python
关于Python形参打包与解包小技巧分享
2019/08/24 Python
Python异常模块traceback用法实例分析
2019/10/22 Python
在python tkinter界面中添加按钮的实例
2020/03/04 Python
pandas数据处理之绘图的实现
2020/06/15 Python
世界上最好的帽子:Tilley
2016/11/27 全球购物
俄罗斯达美乐比萨外送服务:Domino’s Pizza
2020/12/18 全球购物
如何用Java判断一个文件或目录是否存在
2012/11/19 面试题
办公室秘书岗位职责范本
2014/02/11 职场文书
护理助产毕业生的求职信
2014/03/02 职场文书
查摆问题对照检查材料
2014/08/28 职场文书
信息合作协议书
2014/10/09 职场文书
社区文明倡议书
2015/04/28 职场文书
公司管理建议书
2015/09/14 职场文书
MySQL 数据类型选择原则
2021/05/27 MySQL
关于Vue中的options选项
2022/03/22 Vue.js