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脚本的10个技巧(8)
Oct 09 PHP
php 中的str_replace 函数总结
Apr 27 PHP
用PHP实现递归循环每一个目录
Aug 08 PHP
基于flush()不能按顺序输出时的解决办法
Jun 29 PHP
php配合jquery实现增删操作具体实例
Dec 12 PHP
那些年我们错过的魔术方法(Magic Methods)
Jan 14 PHP
php session 写入数据库
Feb 13 PHP
PHP计算日期相差天数实例分析
Feb 23 PHP
Symfony2函数用法实例分析
Mar 18 PHP
详解PHP防止盗链防止迅雷下载的方法
Apr 26 PHP
PHP CodeIgniter分页实例及多条件查询解决方案(推荐)
May 20 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
Nov 17 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
isset和empty的区别
2007/01/15 PHP
Javascript 更新 JavaScript 数组的 uniq 方法
2008/01/23 Javascript
JavaScript入门教程(2) JS基础知识
2009/01/31 Javascript
JQERY limittext 插件0.2版(长内容限制显示)
2010/08/27 Javascript
分享27个jQuery 表单插件集合推荐
2011/04/25 Javascript
读jQuery之六 缓存数据功能介绍
2011/06/21 Javascript
Extjs的FileUploadField文件上传出现了两个上传按钮
2014/04/29 Javascript
document.forms用法示例介绍
2014/06/26 Javascript
流量统计器如何鉴别C#:WebBrowser中伪造referer
2015/01/07 Javascript
JavaScript使用FileSystemObject对象写入文本文件内容的方法
2015/08/05 Javascript
Bootstrap模块dropdown实现下拉框响应
2016/05/22 Javascript
深入解析Javascript闭包的功能及实现方法
2016/07/10 Javascript
实现JavaScript高性能的数据存储
2016/12/11 Javascript
jQuery插件echarts去掉垂直网格线用法示例
2017/03/03 Javascript
React Native日期时间选择组件的示例代码
2018/04/27 Javascript
element-ui 关于获取select 的label值方法
2018/08/24 Javascript
jsonp跨域及实现百度首页联想功能的方法
2018/08/30 Javascript
JavaScript(js)处理的HTML事件、键盘事件、鼠标事件简单示例
2019/11/19 Javascript
JavaScript设计模式---单例模式详解【四种基本形式】
2020/05/16 Javascript
vue项目中使用rem,在入口文件添加内容操作
2020/11/11 Javascript
Python学习入门之区块链详解
2017/07/25 Python
python实现批量解析邮件并下载附件
2018/06/19 Python
解决新django中的path不能使用正则表达式的问题
2018/12/18 Python
解决项目pycharm能运行,在终端却无法运行的问题
2019/01/19 Python
python 读取dicom文件,生成info.txt和raw文件的方法
2019/01/24 Python
python的turtle库使用详解
2019/05/10 Python
python中数组和矩阵乘法及使用总结(推荐)
2019/05/18 Python
python argparser的具体使用
2019/11/10 Python
django实现类似触发器的功能
2019/11/15 Python
HTML5之WebGL 3D概述(上)—WebGL原生开发开启网页3D渲染新时代
2013/01/31 HTML / CSS
澳大利亚领先的在线机械五金、园艺和存储专家:Edisons
2018/03/24 全球购物
Everything But Water官网:美国泳装品牌
2019/03/17 全球购物
2014年国庆晚会主持词
2014/09/19 职场文书
2015年中秋晚会主持稿
2015/07/30 职场文书
2016大学生就业指导课心得体会
2016/01/15 职场文书