<!--二泉.net --> <? class Pages{ var $cn; //連接數(shù)據(jù)庫游標(biāo) var $d; //連接數(shù)據(jù)表的游標(biāo) var $result; //結(jié)果 var $dsn; //dsn源 var $user; //用戶名 var $pass; //密碼 var $total; //記錄總數(shù) var $pages; //總頁數(shù) var $onepage; //每頁條數(shù) var $page; //當(dāng)前頁 var $fre; //上一頁 var $net; //下一頁 var $i; //控制每頁顯示
function getConnect($dsn,$user,$pass){ $this->cn=@odbc_connect($dsn,$user,$pass); if(!$this->cn){ $error="連接數(shù)據(jù)庫出錯"; $this->getMess($error); } } function getDo($sql){//從表中查詢數(shù)據(jù) $this->d=@odbc_do($this->cn,$sql); if(!$this->d){ $error="查詢時發(fā)生了小錯誤......"; $this->getMess($error); } return $this->d; }
function getTotal($sql){ $this->sql=$sql; $dT=$this->getDo($this->sql); //求總數(shù)的游標(biāo) $this->total=odbc_result($dT,'total');//這里為何不能$this->d呢? return $this->total; }
function getList($sql,$onepage,$page){ $this->s=$sql; $this->onepage=$onepage; $this->page=$page; $this->dList=$this->getDo($this->s); //連接表的游標(biāo) $this->pages=ceil($this->total/$this->onepage); if($this->pages==0) $this->pages++; //不能取到第0頁 if(!isset($this->page)) $this->page=1; $this->fre = $this->page-1; //將顯示的頁數(shù) $this->nxt = $this->page+1; $this->nums=($this->page-1)*$this->onepage; //if($this->nums!=0){ // for($this->i=0;$this->i<$pg->getNums();odbc_fetch_row($this->dd),$this->i++);//同上 //} //$this->i=0;//為何這部分不能封裝? return $this->dList; }
function getFanye(){ $str=""; if($this->page!=1) $str.="<a href=".$PHP_SELF."?page=1> 首頁 </a><a href=".$PHP_SELF."?page=".$this->fre."> 前頁 </a>"; else $str.="<font color=999999>首頁 前頁</font>"; if($this->page<$this->pages) $str.="<a href=".$PHP_SELF."?page=".$this->nxt."> 后頁 </a>"; else $str.="<font color=999999> 后頁 </font>"; if($this->page!=$this->pages) $str.="<a href=".$PHP_SELF."?page=".$this->pages."> 尾頁 </a>"; else $str.="<font color=999999> 尾頁 </font>"; $str.="共".$this->pages."頁"; $str.="您正瀏覽第<font color=red>".$this->page."</font>頁"; return $str; } function getNums(){ return $this->nums; } function getOnepage(){//每頁實際條數(shù) return $this->onepage; }
function getI(){ return $this->i; } function getPage(){ return $this->page; }
function getMess($error){//定制消息 echo"<center>$error</center>"; exit; } }
$pg=new Pages(); $pg->getConnect("lei","sa","star"); $pg->getTotal("select count(*) as total from xs"); //連學(xué)生表求總數(shù) $pg->getList("select xs_name from xs order by xs_id",8,$page); if($pg->getNums()!=0){ for($i=0;$i<$pg->getNums();odbc_fetch_row($pg->dList),$i++);//同上 } $i=0; while(odbc_fetch_row($pg->dList)){ $name=odbc_result($pg->dList,"xs_name"); echo $name."<br>"; if($i==$pg->getOnepage()){//跳出循環(huán) break; } $i++; } echo$pg->getFanye(); ?>
|