zoukankan      html  css  js  c++  java
  • 用PHP写的一个简单的分页类 2.0版

    <?php
        /*
        分页类 用于实现对多条数据分页显示 
        version:2.0 //基于1.0 数据库查询用mysqli实现
        author:Knight
        E-Mail:S.Knight.Work@gmail.com
        Date:2013-10-20
        */
        
        /*
            调用非常方便,先传入连接正确的mysqli对象,然后直接传入查询的sql字符串即可,也可以在第三个参数指定指定每页显示的数据条数
            例如$pages = new Page($mysqli, 'SELECT * FROM `zy_common_member`');
            或  $pages = new Page($mysqli, 'SELECT * FROM `zy_common_member`', 10);
        */
        class Page{
            private $curPage;
            private $totalPages;//数据总共分多少页显示
            private $dispNum;//每页显示的数据条数
            private $queryStr;//查询的SQL语句
            private $limitStr;//查询语句后面的limit控制语句
            private $mysqli;//连接数据库的mysqli对象
            /*
            构造函数
            $queryStr 查询数据的SQL语句
            $dispNum  每页显示的数据条数
            */
            public function __construct( $mysqli, $queryStr='', $dispNum=10){    
                $result = $mysqli->query($queryStr);
                $totalNum = $result->num_rows;
                $this->dispNum = $dispNum;
                $this->totalPages = ceil($totalNum / $dispNum);
                $this->queryStr = $queryStr;
                $this->mysqli = $mysqli;
                
                $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 = $this->mysqli->query($this->queryStr.$this->limitStr);
                
                if (!$result)
                {            
                    if ($this->totalPages > 0)
                    {
                        echo '查询出错'.'<br>';
                    }
                    else
                    {
                        echo '无数据'.'<br>';
                    }
                    return;
                }
                $cols = $result->field_count;
                $array =  $result->fetch_fields();
    
                //var_dump($array);
                echo '<table border="1">';
                echo '<tr>';
                for($i=0; $i<$cols; $i++)
                {
                    echo '<th>';
                    echo $array[$i]->name;
                    echo '</th>';
                }
                echo '</tr>';
            
                while($row = $result->fetch_assoc())
                {
                    echo '<tr>';
                    foreach($row as $key=>$value)
                    {
                        echo '<td>';
                        echo $value;
                        echo '</td>';
                    }
                    echo '</tr>';
                }
                
                $result->close();
                
                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>';
            }
      
      }
        
    ?>
  • 相关阅读:
    八、JVM视角浅理解并发和锁
    七、JVM类加载机制
    六、JVM命令和工具
    五、jvm垃圾回收3(几种垃圾收集器)
    四、JVM垃圾回收2(垃圾收集算法)
    jvm引用类型
    三、JVM垃圾回收1(如何寻找垃圾?)
    【原创】Android 对话框的使用
    【原创】CMD常用命令:解决实际问题
    【原创】开机出现grub rescue,修复办法
  • 原文地址:https://www.cnblogs.com/BTMaster/p/3378954.html
Copyright © 2011-2022 走看看