+ -
当前位置:首页 → 问答吧 → 发一个自己写的ADODB LITE 分页类

发一个自己写的ADODB LITE 分页类

时间:2007-06-02

来源:互联网

小弟自己写的一个adodblite分页类请各位大哥指教......
复制PHP内容到剪贴板
PHP代码:
class Ado_page{
                  var $conn; //数据库连接
                 var $sql;        //SQL
                 var $pagesize;        //PageSize
                 var $totlapage;        //page总记录数
                 var $getPagenumber;        //当前页面ID号
                  var $rs;                //记录集
                 var $url;                //URL
                 var $page_name        =        "recordPage"; //GET pgaeID
                 var $length=10;                //Length 长度
                 var $Style;                        //样式
 
                           
                 function setPage(&$conn,$sql_lite,$pagesize){
                         $this->sql                        =                $sql_lite;
                          $this->pagesize                =                $pagesize;
                        $this->conn                        =                &$conn;
                        $this->totlapage        =                $this->rowCount();
                        $this->getPagenumber=                $this->setPagenumber();
                        $this->getPage();        

                 }
                 function setPagenumber(){
                 $recordPage=$_GET[$this->page_name];
                         if($recordPage>0){
                                return  $recordPage;
                        }else{
                                return 1;
                        }
                 }
                 function getLast(){//取的最后一页
                         return ceil($this->totlapage/$this->pagesize);
                 }
                function getFrist(){//取的第一页        
                         return true;
                 }
                 function getNext(){
                         if($this->getLast()>$this->getPagenumber){
                        return        $this->getPagenumber+1;
                        }else if ($this->getLast()==$this->getPagenumber){
                        return        $this->getPagenumber;
                        }
                 }
                 function getPerv(){
                 if($this->getPagenumber>1 ){
                                 if($this->getLast()>=$this->getPagenumber){
                                        return $this->getPagenumber-1;
                                }
                        }
                 }
                function GetLinks($url=""){
                   if(!empty($url)){
                          //手动设置
                   $this->url=$url.((stristr($url,'?'))?'&':'?').$this->page_name."=";
                   return $this->url;
                  }else{
                          //自动获取
                   if(empty($_SERVER['QUERY_STRING'])){
                           //不存在QUERY_STRING时
                        $this->url=$_SERVER['REQUEST_URI']."?".$this->page_name."=";
                        return $this->url;
                   }else{
                           //
                                if(stristr($_SERVER['QUERY_STRING'],$this->page_name.'=')){
                                        //地址存在页面参数
                                 $this->url=str_replace($this->page_name.'='.$_REQUEST[$this->page_name],'',$_SERVER['REQUEST_URI']);
                                 //echo $this->nowindex;
                                 $last=$this->url[strlen($this->url)-1];
                                         if($last=='?'||$last=='&'){
                                                 $this->url.=$this->page_name."=";
                                                 return $this->url;
                                         }else{
                                                 $this->url.='&'.$this->page_name."=";
                                                 return $this->url;
                                         }
                                }else{
                                 $this->url=$_SERVER['REQUEST_URI'].'&'.$this->page_name.'=';
                                 return $this->url;
                                }//end if   
                   }//end if
                  }//end if
  
}
                function SetLink(){
                
                        return 'http://'.$_SERVER['HTTP_HOST'].$this->GetLinks();
                
                }
                 function getPage(){
                 
                         $recordrs=$this->conn->SelectLimit($this->sql ,$this->pagesize,($this->getPagenumber -1)*$this->pagesize);        
                        if($this->rs->EOF){
                                $this->rs=false;
                        }else{
                                $this->rs=$recordrs;
                        }        
                 }
                 
                                 function pageStyle($newstyle=1){        //连接样式
                         global $_LANG;
         
                        
                        $string1='<a class="style_'.$this->Style.'" href="'.$this->SetLink().$this->getFrist().'">'.$_LANG->First_page.'</a>';                 
                        $string1.=' <a class="style_'.$this->Style.'" href="'.$this->SetLink().$this->getPerv().'">'.$_LANG->;Perv_page.'</a>';
                        $string1.=' <a class="style_'.$this->Style.'" href="'.$this->SetLink().$this->getNext().'">'.$_LANG->Next_page.'</a>';
                        $string1.=' <a class="style_'.$this->Style.'" href="'.$this->SetLink().$this->getLast().'">'.$_LANG->Last_page.'</a>';
                        
                        $string_to=' 本页为第'.$this->getPagenumber.'/'.$this->getLast().'页,共'.$this->getLast().'页,每页'.$this->pagesize.'条,';        /*        */
                        $string_to.='记录总数 '.$this->totlapage.' 条';
                        
                        $string2=$this->listStyle();
                        
                        $string3=$this->selectStyle();
                         
                 
                        switch($newstyle){
                                case 1:
                                $string=$string1;
                                break;
                                case 2:
                                $string=$string1.$string_to;
                                break;
                                case 3:
                                $string=$string1.$string_to.$string2;
                                break;
                                case 4:
                                $string=$string1.$string3;
                                break;
                                case 5:
                                $string=$string2;
                                break;
                                default :
                                $string=$string1;
                                break;
                        }
                        
                        return $string;
                 }
                 
                 function selectStyle(){
                         $option="<select name='selectID' onChange=\"javascript:location.href='".$this->SetLink()."' +this.options[this.selectedIndex].value\">";
                         for($i=1;$i<$this->getLast();$i++){
                                $option.="<option value='".$i." '";
                                        if($this->getPagenumber==$i){
                                                $option.= " selected";
                                        }
                                $option.=">".$i."</option>";
                         }
                         $option.="</select>";
                         return $option;
                 }

[ 本帖最后由 topflying 于 2007-6-2 11:56 编辑 ]

作者: topflying   发布时间: 2007-06-02

复制PHP内容到剪贴板
PHP代码:
function listStyle(){
                         $startNumber=intval($this->getPagenumber/$this->length)*$this->length; 
                         $leftPageNumber=0; 
                        $style.='<a href="'.$this->SetLink().$this->getPerv().'"><<</a> ';
                         for($i=$startNumber;$i<$this->getLast()+1;$i++){
                                        if ($i==0)continue; 
                                 if ($i-$startNumber<$this->length){
                                                 if ($i==$this->getPagenumber){ 
                                                         $style        .=        '<a href="#" class="style_'.$this->Style.'" ><strong>'.$i.'</strong></a> ';
                                                 }else{
                                                         $style        .=        '<a class="style_'.$this->Style.'"  href="'.$this->SetLink().$i.'">'.$i.'</a> ';
                                                 }
                                 }else{
                                        $leftPageNumber=$this->getLast()-$i+1;                                                  
                                         break;
                                 }
                        }
                 $style.=' <a href="'.$this->SetLink().$this->getNext().'">>></a>';        
                 return $style;
                 }
                 
                 function rowCount(){        //取的记录总数
                         $rs=$this->conn->Execute($this->sql);         
                         return $rs->RecordCount();                        
                 }
                  function fields($id){
                         return $this->rs->fields($id);
                  }
                 function MoveNext(){
                         return $this->rs->MoveNext();
                 }
                 function GetArray(){
                         return $this->rs->GetArray();
                 }
                 function Close(){
                         return $this->rs->Close();
                }
                function RecordCount(){
                        return $this->rs->RecordCount();
                }
                 function FetchRow(){
                         return $this->rs->FetchRow();
                 }
                function EOF(){
                        return $this->rs->EOF();
                        }
                function BOF(){
                        return $this->rs-BOF();
                }
                 

        }//end class

//调用实例
       $rs=new Ado_page();
        $sql="select * from table where 1=1";
        $sql.=" order by intOrder asc,id desc";
        $rs->setPage($conn,$sql,12);
        
       echo $rs->pageStyle(3);

作者: topflying   发布时间: 2007-06-02

・ 向普通人加密 用PHP程序保护数据 06-02 15
・ Apache重写规则的常见应用及实例说明 06-02 15
・ 安装JDK 就可同时运行PHP和Java? 06-02 15
・ PHPer为什么被认为是草根? 06-02 15
・ 草根的进化 PHP语言发展简史 06-02 15
・ 自己在做项目过程中学到的PHP知识收集 06-02 16
・ 安全基础之IIS 6 的 PHP 最佳配置方法 06-02 15

作者: baowm   发布时间: 2007-06-03

发了几天没人顶自己顶一下:) :) :)

作者: topflying   发布时间: 2007-06-06

写得不错,支持一下

作者: xiaojia   发布时间: 2007-06-06

支持一下,顺便问有没有adodblite的文档

作者: sanler   发布时间: 2007-06-07

为什么能写得这么好?

作者: atree1984   发布时间: 2008-05-10

热门下载

更多