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 增加了对 .ZIP 文件的读取功能
Oct 09 PHP
Discuz板块横排显示图片的实现方法
May 28 PHP
php include加载文件两种方式效率比较
Aug 08 PHP
PHP+SQL 注入攻击的技术实现以及预防办法
Jan 27 PHP
PHP遍历二维数组的代码
Apr 22 PHP
解析PHP的session过期设置
Jun 29 PHP
php多文件上传下载示例分享
Feb 20 PHP
PHP中使用Imagick实现各种图片效果实例
Jan 21 PHP
php实现读取和写入tab分割的文件
Jun 01 PHP
PHP+mysql实现从数据库获取下拉树功能示例
Jan 06 PHP
微信企业转账之入口类分装php代码
Oct 01 PHP
php分享朋友圈的实现代码
Feb 18 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扩展imagick
2014/06/02 PHP
支持中文的PHP按字符串长度分割成数组代码
2015/05/17 PHP
关于php微信订阅号开发之token验证后自动发送消息给订阅号但是没有消息返回的问题
2015/12/21 PHP
Symfony2开发之控制器用法实例分析
2016/02/05 PHP
PHP+fiddler抓包采集微信文章阅读数点赞数的思路详解
2019/12/20 PHP
PHP函数用法详解【初始化、嵌套、内置函数等】
2020/06/02 PHP
用JavaScript编写COM组件的步骤
2009/03/17 Javascript
jQuery库与其他JS库冲突的解决办法
2010/02/07 Javascript
JQuery Ajax通过Handler访问外部XML数据的代码
2010/06/01 Javascript
JavaScript继承方式实例
2010/10/29 Javascript
Ajax 数据请求的简单分析
2011/04/05 Javascript
基于jquery的防止大图片撑破页面的实现代码(立即缩放)
2011/10/24 Javascript
javascript实用小函数使用介绍
2013/11/11 Javascript
javascript实现的平方米、亩、公顷单位换算小程序
2014/08/11 Javascript
Javascript中设置默认参数值示例
2014/09/11 Javascript
JS使用eval解析JSON的注意事项分析
2015/11/14 Javascript
jQuery实现简单的点赞效果
2020/05/29 Javascript
jquery操作ID带有变量的节点实例
2016/12/07 Javascript
angular+ionic 的app上拉加载更新数据实现方法
2017/01/16 Javascript
Node.js查找当前目录下文件夹实例代码
2017/03/07 Javascript
JS+HTML5实现图片在线预览功能
2017/07/22 Javascript
js阻止默认右键的下拉菜单方法
2018/01/02 Javascript
一步一步实现Vue的响应式(对象观测)
2019/09/02 Javascript
prettier自动格式化去换行的实现代码
2020/08/25 Javascript
[03:48]显微镜下的DOTA2第四期——TP动作
2014/06/20 DOTA
深入浅析Python字符编码
2015/11/12 Python
Django权限设置及验证方式
2020/05/13 Python
python输出国际象棋棋盘的实例分享
2020/11/26 Python
小程序瀑布流解决左右两边高度差距过大的问题
2019/02/20 HTML / CSS
RetroStage德国:复古服装
2019/02/03 全球购物
英语专业个人求职信范文
2014/02/01 职场文书
员工辞退通知书
2015/04/17 职场文书
Redis读写分离搭建的完整步骤
2021/09/14 Redis
JavaScript阻止事件冒泡的方法
2021/12/06 Javascript
python的列表生成式,生成器和generator对象你了解吗
2022/03/16 Python
Axios代理配置及封装响应拦截处理方式
2022/04/07 Vue.js