爱程序网

用PHP写的一个简单的分页类 1.0版

来源: 阅读:

<?php    /*    分页类 用于实现对多条数据分页显示     version:1.0    author:Knight    E-Mail:S.Knight.Work@gmail.com    Date:2013-10-20    */        /*        调用非常方便,先连接好数据库,直接传人查询的sql字符串即可,也可以指定每页显示的数据条数        例如$pages = new Page('SELECT * FROM `zy_common_member`');        或  $pages = new Page('SELECT * FROM `zy_common_member`', 10);    */    class Page{        private $curPage;        private $totalPages;//数据总共分多少页显示        private $dispNum;//每页显示的数据条数        private $queryStr;//查询的SQL语句        private $limitStr;//查询语句后面的limit控制语句                /*        构造函数        $queryStr 查询数据的SQL语句        $dispNum  每页显示的数据条数        */        public function __construct($queryStr='',$dispNum=10){                $result = mysql_query($queryStr);            $totalNum = mysql_num_rows($result);            $this->dispNum = $dispNum;            $this->totalPages = ceil($totalNum / $dispNum);            $this->queryStr = $queryStr;                        $temp = (isset($_GET["curPage"]) ? $_GET["curPage"] : 1);            $this->setCurPage($temp);                        $this->showCurPage();            $this->showFoot();        }                        /*显示当前页的数据内容*/        private function showCurPage(){            $this->limitStr = ' LIMIT '.(($this->curPage - 1)* $this->dispNum).','.$this->dispNum;            //echo $this->queryStr.$this->limitStr;            $result = mysql_query($this->queryStr.$this->limitStr);                        if (!$result)            {                            if ($this->totalPages > 0)                {                    echo '查询出错'.'<br>';                }                else                {                    echo '无数据'.'<br>';                }                return;            }            $cols = mysql_num_fields($result);                    echo '<table border="1">';            echo '<tr>';            for($i=0; $i<$cols; $i++)            {                echo '<th>';                echo mysql_field_name($result, $i);                echo '</th>';            }            echo '</tr>';                    while($row = mysql_fetch_assoc($result))            {                echo '<tr>';                foreach($row as $key=>$value)                {                    echo '<td>';                    echo $value;                    echo '</td>';                }                echo '</tr>';            }                        echo '</table>';        }                private function setCurPage($curPage){                if($curPage < 1)                {                    $curPage = 1;                }                else if($curPage > $this->totalPages)                {                    $curPage = $this->totalPages;                }                    $this->curPage = $curPage;        }          /*        显示分页页脚的信息         如首页,上一页,下一页,尾页等信息        */        private function showFoot(){            echo '<a href="?curPage=1">首页</a>';            echo '<a href="?curPage='.($this->curPage - 1).'">上一页</a>';            echo '<a href="?curPage='.($this->curPage + 1).'">下一页</a>';            echo '<a href="?curPage='.$this->totalPages.'">尾页</a>';        }    }    ?>

相关文章列表: