PHP和MYSQL实现分页导航思路详解

时间:2021-05-26

预期效果

思路

通过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实现分页导航思路详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章