广

MYSQL

  • MYSQL
  • MSSQL
  • Redis
  • MongoDB
  • oracle数据库
  • 数据管理

    MySQL分页模型(Pagination.php)

    2018-05-03 14:17:38 次阅读 稿源:互联网
    零七网广告
    全网推广平台,软文发布

    class Pagination {
            var $pageSize;        //页大小
            var $pageNo;                //当前页码
            var $rowCount;        //记录总数
            var $pageCount;        //总页数
            var $records;                //当前页记录
            var $currentPageSize;        //当前页记录总数
            var $currentPageStartNo;     //当前页开始记录号

            //判断是否有电脑教程之家 http://www.pcppc.cn
            function hasNextPage() {
                    return $this->pageNo < $this->pageCount;
            }
            //取得电脑教程之家 http://www.pcppc.cn页码
            function getNextPageNo() {
                    return $this->pageNo + 1;
            }

            //判断是否有上一页
            function hasPriorPage() {
                    return $this->pageNo > 1;
            }
            //取得上一页页码
            function getPriorPageNo() {
                    return $this->pageNo - 1;
            }

            //判断是否第一页
            function isFirstPage(){
                    return $this->pageNo == 1 || $this->pageCount==0;
            }

            //判断是否最后一页
            function isLastPage(){
                    return $this->pageNo == $this->pageCount || $this->pageCount==0;
            }

            //装载某一页数据,成功则返回true,失败则返回false
            //        dataMaker是一个函数名,用于将一条记录转换为一个对象
            //        有一个参数为当前记录所有字段的值(一个以数字或字段名为索引的数组)
            function load($con, $sql, $dataMaker, $pageSize, $pageNo){
                    //页大小和当前页码必须>=1
                    if( $pageSize<1 || $pageNo<1 ) return false;

                    //查询
                    if( $rst = @mysql_que


    MySQL教程是:MySQL分页模型(Pagination.php)。ry($sql, $con) ){
                            $this->pageSize = $pageSize;
                            $this->pageNo = $pageNo;

                            $this->rowCount = @mysql_num_rows($rst);
                            $this->pageCount = (int)(($this->rowCount + $this->pageSize - 1) / $this->pageSize);
                            $this->records = array();

                            //将光标移动到指定页的第一条记录前
                            $this->currentPageStartNo = ($this->pageNo - 1) * $this->pageSize + 1;
                            $firstRowNo = $this->currentPageStartNo;
                            while( --$firstRowNo>0 && @mysql_fetch_array($rst) );

                            //取出指定页的数据
                            $read = 0;
                            $this->currentPageSize = 0;
                            while( $read<$this->pageSize && $row=@mysql_fetch_array($rst) ){
                                    $this->records[$this->currentPageSize++] = $dataMaker($row);
                                    $read++;
                            }
                    }
                    else{
                            return false;
                    }

                    return true;
            }
    };
    ?>

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七网广告
    零七网广告
    零七网广告
    零七网广告