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 rel="nofollow noopener noreferrer" href='".$_SERVER['PHP_SELF']."?p=".$i."'>{$i}</a>";
 }
 }
 if($page+$page_off<$total_pages)
$page_banner.="...";
 //显示尾页与下一页
 if($page<$total_pages){
$page_banner.="<a rel="nofollow noopener noreferrer" href='".$_SERVER['PHP_SELF']."?p=".($page+1)."'>下一页></a>";
$page_banner.="<a rel="nofollow noopener noreferrer" 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和MYSQL实现分页导航思路详解内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!

标签: 分页 PHP