您的位置:首页技术文章
文章详情页

一个odbc连mssql分页的类

【字号: 日期:2023-10-26 13:29:51浏览:2作者:猪猪
<!--二泉.net --><?class Pages{;;;;var $cn;//连接数据库游标;;;;var $d;;;;;//连接数据表的游标;;;;var $result;;;;;//结果;;;;var $dsn;//dsn源;;;;var $user;//用户名;;;;;;;;var $pass;//密码;;;;;;;;var $total;//记录总数;;;;var $pages;//总页数;;;;var $onepage;;;;;//每页条数;;;;var $page;//当前页;;;;var $fre;//上一页;;;;var $net;//下一页;;;;var $i;;;;;//控制每页显示;;;;function getConnect($dsn,$user,$pass){$this->cn=@odbc_connect($dsn,$user,$pass);if(!$this->cn){;;;;$error="连接数据库出错";;;;;$this->getMess($error);} ;;;;};;;;;;;;function getDo($sql){//从表中查询数据$this->d=@odbc_do($this->cn,$sql);if(!$this->d){;;;;$error="查询时发生了小错误......";;;;;$this->getMess($error);}return $this->d;;;;;};;;;function getTotal($sql){$this->sql=$sql;$dT=$this->getDo($this->sql);//求总数的游标$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);;;;;//连接表的游标$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;;;;;//将显示的页数$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(){//每页实际条数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");;;;;//连学生表求总数$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()){//跳出循环break;;;;;};;;;$i++;}echo$pg->getFanye();?>
标签: MsSQL 数据库