php+mssql 通用分页类,写了一个odbc连mssql分页的类,请大家指_php

class Pages{

var $cn;        //连接数据库游标

var $d;            //连接数据表的游标

var $result;    //结果

http://www.gaodaima.com/46049.html写了一个odbc连mssql分页的类,请大家指_php

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->igetNums();odbc_fetch_row($this->dd),$this->i++);//同上

//}

//$this->i=0;//为何这部分不能封装?

return $this->dList;

}

function getFanye(){

$str="";

if($this->page!=1)

$str.=" 首页 fre."> 前页 ";

else

$str.="首页 前页";

if($this->pagepages)

$str.="nxt."> 后页 ";

else

$str.=" 后页 ";

if($this->page!=$this->pages)

$str.="pages."> 尾页 ";

else

$str.=" 尾页 ";

$str.="共".$this->pages."页";

$str.="您正浏览第".$this->page."页";

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"

$error
";

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;$igetNums();odbc_fetch_row($pg->dList),$i++);//同上

}

$i=0;

while(odbc_fetch_row($pg->dList)){

$name=odbc_result($pg->dList,"xs_name");

echo $name."
";

if($i==$pg->getOnepage()){//跳出循环

break;

}

$i++;

}

echo$pg->getFanye();

?>

欢迎大家阅读《写了一个odbc连mssql分页的类,请大家指_php》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码

e7ce419cf2d6ad34d01da2ceb8829eed.png

微信 赏一包辣条吧~

023a57327877fb4402bcc76911ec18ea.png

支付宝 赏一听可乐吧~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值