PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

PHP和MYSQL实现分页导航思路的方法

墨辰丷
墨辰丷 原创
2018-05-24 09:50:55 1321浏览

这篇文章主要介绍了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=&#39;current&#39;>$i</span>";
 }else{
$page_banner.="<a href=&#39;".$_SERVER[&#39;PHP_SELF&#39;]."?p=".$i."&#39;>{$i}</a>";
 }
 }
 if($page+$page_off<$total_pages)
$page_banner.="...";
 //显示尾页与下一页
 if($page<$total_pages){
$page_banner.="<a href=&#39;".$_SERVER[&#39;PHP_SELF&#39;]."?p=".($page+1)."&#39;>下一页></a>";
$page_banner.="<a href=&#39;".$_SERVER[&#39;PHP_SELF&#39;]."?p=".($total_pages)."&#39;>尾页</a>";
 }else{
$page_banner.="<span class=&#39;disable&#39;>下一页></span>";
$page_banner.="<span class=&#39;disable&#39;>尾页</span>";
 }
}

最终效果

 

以上就是本文的全部内容,希望对大家的学习有所帮助。

相关推荐:

PHP中PDO事务处理操作示例

PHP中PDO事务处理操作示例

PHP简单实现解析xml为数组的方法

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。