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

5年以前  |  阅读数:775 次  |  编程语言:PHP 

预期效果

思路

通过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分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例