分页类文件一

上一篇 / 下一篇  2007-02-27 12:48:58 / 个人分类:代码

<?php
/****
        //funcation Name : 分页类
        //Write Time:2005-5-14
        //Author : 释然
        //Descrīption :                 
        //SQL函数有两个参数,分别是SQL语句和每页要显示的条数,第三个参数为可选参数为排序的条件
        //本类无论是用POST方法还是用GET方法传递参数都可以,最终都将转化为GET方法传递参数
        //本类需要SQL类支持
*/
        class Page
        {
                var $sql;
                var $pagesize;
                var $sortcondition;
                var $totalPages;
                var $page;
                var $prePage;
                var $nextPage;
                var $post_query;
                function Page(&$sql,$sortc,$pagesize)
                {
                        global $db;
                        $this->sql     = &$sql;
                        $this->pagesize= $pagesize;
                        $this->sortcondition= $sortcondition;
                        $this->page  = $_GET["page"];
                        ///取出符合条件的资源总数,并测试连接是否有效
                        if(!mysql_ping())
                        {
                                echo "<font size=3 color = red>MYSQL连接失效,请重新连接!</font>";
                                exit;
                        }
                        $result = &$db->query($this->sql);
                        $totalnum = &$db->num_rows($result);
                        if($totalnum<1)
                        {
                                echo "不存在符合条件的信息!";
                                exit;
                        }
                        if(empty($this->page)){$this->page = 0;}
                        $this->totalPages = ceil($totalnum/$this->pagesize);
                        $end   = ($this->totalPages-1)*$this->pagesize;
                        $this->prePage = ($this->page ==0?0:$this->page-$this->pagesize);
                        $this->nextPage= ($this->page>=$end?$end:$this->page+$this->pagesize);
                        if($this->sortcondition)
                        $this->sql .= " order by ".$this->sortcondition." DESC ";
                        $this->sql .= " limit ".$this->page.",".$this->pagesize;
                        //echo $this->sql;
                }
                function PageSql()
                {
                        return $this->sql;
                }
                function TotalPage()
                {
                       
                }
                function ShowPageOne()
                {
                        $url=$this->UrlAnalyze();
                        $curr = ($this->page+$this->pagesize)/$this->pagesize;
                        $temp="第".$curr."/".$this->totalPages."页";
                        if($this->totalPages ==1)
                        return "$temp    仅一页";
                        if($this->totalPages>1)
                        {
                                return "$temp    <a href=".$url.$this->prePage.$this->post_query.">上一页</a>|<a href=".$url.$this->nextPage.$this->post_query.">下一页</a>";
                               
                        }
                }
                function UrlAnalyze()
                {
                        if(!empty($_POST))
                        {
                                while(list($key,$value)=each($_POST))///不用extract方法是因为这种方法可以去掉多余的信息
                                {
                                        if($value==null||$key=="Submit"||$key==page)
                                        continue;
                                        else
                                        $this->post_query.="&".$key."=".$value;///保存POST变量中的数据
                                }
                        }
                        if(!empty($_GET))
                        {
                                while(list($key,$value)=each($_GET))
                                {
                                        if($value==null||$key=="Submit"||$key==page)
                                        continue;
                                        else
                                        $this->post_query.="&".$key."=".$value;///保存POST变量中的数据
                                }
                        }
                        //echo $this->post_query;
                        $url=$_SERVER['PHP_SELF'];
                        $url.="?page=";
                        return $url;
                }
        }
?>

TAG: 代码

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

数据统计

  • 访问量: 3505
  • 日志数: 30
  • 书签数: 1
  • 建立时间: 2007-02-12
  • 更新时间: 2007-12-27

RSS订阅

Open Toolbar