php封装分页类+分页实例

分页类的封装如下:

page.php

    <?php

    //showPage(页号,总页数,分隔符)

    function showPage($page,$totalPage,$sep=" "){

        $url = $_SERVER ['PHP_SELF'];          //获取当前路径

        $index = ($page == 1) ? "首页" : "<a href='{$url}?page=1'>首页</a>";

        $last = ($page == $totalPage) ? "尾页" : "<a href='{$url}?page={$totalPage}'>尾页</a>";

        $prevPage=($page>=1)?$page-1:1;

        $nextPage=($page>=$totalPage)?$totalPage:$page+1;

        $prev = ($page == 1) ? "上一页" : "<a href='{$url}?page={$prevPage}'>上一页</a>";

        $next = ($page == $totalPage) ? "下一页" : "<a href='{$url}?page={$nextPage}'>下一页</a>";

        $str = "总共{$totalPage}页/当前是第{$page}页";

        $p="";

        for($i = 1; $i <= $totalPage; $i ++) {

            //当前页无连接

            if ($page == $i) {

                $p .= "[{$i}]";

            } else {

                $p .= "<a href='{$url}?page={$i}'>[{$i}]</a>";

            }

        }

        $pageStr=$str.$sep . $index .$sep. $prev.$sep . $p.$sep . $next.$sep . $last;

        return $pageStr;    //返回分页字符串

---------------------

一个调用分页类的例子

userlist.php

    <?php

    include "../mysql.php";

    include "../page.php";

    //连接数据库

    $conn=new Mysql();

    //

    $pageSize=2;        //每页显示的记录数

    $sql="select * from user;";

    $totalRows=$conn->getResultNum($sql);  //总记录数

    $totalPage=ceil($totalRows/$pageSize);  //总页数

    $page=isset($_REQUEST['page'])?(int)$_REQUEST['page']:1;//当前页数

    if($page<1||$page==null||!is_numeric($page)){

        $page=1;

    }

    if($page>=$totalPage)$page=$totalPage;

    $offset=($page-1)*$pageSize;


    $sql="select * from user limit {$offset},{$pageSize}";

    $result=$conn->sql($sql);


    echo "<table style='text-align: center'>";

    echo "<tr><td>用户名</td><td>密码</td><td>性别</td><td>邮箱</td></tr>";

    foreach ($result as $k=>$v)

    {

        echo "<tr><td>{$v['name']}</td>";

        echo "<td>"."{$v['password']}"."</td>";

        echo "<td>{$v['sex']}</td>";

        echo "<td>{$v['email']}</td></tr>";

    }

    echo "</table>";

    echo showPage($page,$totalPage);        //输出页码链接

    echo"<hr/>";


    //关闭数据库

    $conn->close();

运行结果:

数据库的封装之前写过,这里不在赘述

数据库封装:http://blog.csdn.net/c_jian/article/details/52847499

---------------------

作者:不能吃的坚果

来源:CSDN

原文:https://blog.csdn.net/C_jian/article/details/52944888

版权声明:本文为博主原创文章,转载请附上博文链接!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 提到分页,大家都不陌生,在我们日常浏览网页时常遇到,尤其新闻文章列表等都有分页,如下图所示: 下面,通过一个实例为...
    我爱一碗香阅读 2,075评论 9 21
  • 恩格斯曾经说过,先是语言,然后是语言和劳动一起,使猿的脑髓形成了人的脑髓。强调了语言在人类历史的伟大地位。 那语言...
    西西里牧羊人阅读 850评论 0 0
  • 一、闭包(Closures)的定义 描述闭包定义之前需要先了解一个学术名词--(free variable)自由变...
    integrate阅读 2,299评论 2 54
  • 训练营已经进入尾声,过了今晚,就只剩下一周的时间。 可惜的是在今晚我又犯了一个鲁莽的错误,匆忙中就推荐了一本书,但...
    过者不过阅读 136评论 0 1
  • 小结:吃好,运动,睡足。这真的太重要了,这就是我想要的生活,所以为此,我要拼尽一切去达到这样的状态。
    兽医博士在广西阅读 105评论 0 2