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 相关文章推荐
多重?l件?合查?(一)
Oct 09 PHP
php split汉字
Jun 05 PHP
php的日期处理函数及uchome的function_coomon中日期处理函数的研究
Jan 12 PHP
php笔记之:php数组相关函数的使用
Apr 26 PHP
LotusPhp笔记之:Cookie组件的使用详解
May 06 PHP
使用迭代器 遍历文件信息的详解
Jun 08 PHP
PHP5.5在windows安装使用memcached服务端的方法
Apr 16 PHP
Codeigniter(CI)框架分页函数及相关知识
Nov 03 PHP
微信公众号点击菜单即可打开并登录微站的实现方法
Nov 14 PHP
Zend Framework教程之Application用法实例详解
Mar 14 PHP
PHP迭代与递归实现无限级分类
Aug 28 PHP
PHP JWT初识及其简单示例
Oct 10 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 fputcsv命令 写csv文件遇到的小问题(多维数组连接符)
2011/05/24 PHP
xml在joomla表单中的应用详解分享
2012/07/19 PHP
PHP实现递归复制整个文件夹的类实例
2015/08/03 PHP
深入理解PHP内核(一)
2015/11/10 PHP
javascript prototype 原型链
2009/03/12 Javascript
jQuery使用数组编写图片无缝向左滚动
2012/12/11 Javascript
js 通用订单代码
2013/12/23 Javascript
jQuery中end()方法用法实例
2015/01/08 Javascript
JS实现鼠标箭头变成一个燃烧烛光效果的方法
2015/02/28 Javascript
JQuery遍历DOM节点的方法
2015/06/11 Javascript
jquery实现简洁文件上传表单样式
2015/11/02 Javascript
js+html5实现canvas绘制椭圆形图案的方法
2016/05/21 Javascript
JS添加或修改控件的样式(Class)实现方法
2016/10/15 Javascript
Bootstrap实现带暂停功能的轮播组件(推荐)
2016/11/25 Javascript
浅谈js中的this问题
2017/08/31 Javascript
vue组件之Alert的实现代码
2017/10/17 Javascript
angularjs实现天气预报功能
2020/06/16 Javascript
pm2发布node配置文件ecosystem.json详解
2019/05/15 Javascript
[02:19]DOTA2上海特级锦标赛 观赛指南 Spectator Guide
2016/02/04 DOTA
[01:33]完美世界DOTA2联赛PWL S3 集锦第二期
2020/12/21 DOTA
python备份文件以及mysql数据库的脚本代码
2013/06/10 Python
Python中的Numpy入门教程
2014/04/26 Python
Django Admin实现上传图片校验功能
2016/03/06 Python
Python 网络编程之TCP客户端/服务端功能示例【基于socket套接字】
2019/10/12 Python
在notepad++中实现直接运行python代码
2019/12/18 Python
解决numpy矩阵相减出现的负值自动转正值的问题
2020/06/03 Python
python中altair可视化库实例用法
2021/01/26 Python
CSS3实现多背景展示效果通过CSS3定位多张背景
2014/08/10 HTML / CSS
HTML5 解析规则分析
2009/08/14 HTML / CSS
社区八一活动方案
2014/02/03 职场文书
电脑售后服务承诺书
2014/03/27 职场文书
工作推荐信范文
2014/05/10 职场文书
Golang 如何实现函数的任意类型传参
2021/04/29 Golang
详解JS数组方法
2021/11/20 Javascript
vue+echarts实现多条折线图
2022/03/21 Vue.js
golang语言指针操作
2022/04/14 Golang