基于ODBC的PHP SqlServer分页类实例
一个PHP使用odbc连接mssql的分页类,可直接输出分页结果,可 控制每页显示多少条记录,类中定义和设置功能都挺多,如果你的PHP连接的是MS SQLSERVER,在分页时候或许可以尝试下本代码:
<? //PHP基于DSN的数据库分页 class Pages{ var $cn;//数据库游标 var $d;//数据表的游标 var $result; var $dsn;//dsn源 var $user;//DSN用户名 var $pass;//DSN密码 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; 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 article");//表求总数,注意,实际用这里需要改成你自己的表 $pg->getList("select xs_name from article 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(); ?>
一、推荐使用迅雷或快车等多线程下载软件下载本站资源。
二、未登录会员无法下载,登录后可获得更多便利功能,若未注册,请先注册。
三、如果服务器暂不能下载请稍后重试!总是不能下载,请点我报错 ,谢谢合作!
四、本站大部分资源是网上搜集或私下交流学习之用,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任.如果您发现本站有部分资源侵害了您的权益,请速与我们联系,我们将尽快处理.
五、如有其他问题,请加网站设计交流群(点击这里查看交流群 )进行交流。
六、如需转载本站资源,请注明转载来自并附带链接
七、本站部分资源为加密压缩文件,统一解压密码为:www.aizhanzhe.com
大家评论
站长推荐
点击排行
- 1CSS控制文字在Div最底部显示
- 2Thinkphp5如何配置IP+端口访问项目模块
- 3elementUI el-dialog弹框居中
- 4教你如何搭建及优化站点
- 5国内互联网视频行业运营分析
- 6service mysql start出错,mysql不能启动,解决mysql: unrecognized service错误
- 7CSS实现悬浮顶部的Div工具栏
- 8记一次Thinkphp5.1框架mysql数据库崩溃(SQLSTATE [08004] Too many connections)
- 9连接SQL Server数据库提示:Login failed for user 'sa'错误的解决方案
- 10Thinkphp3.2在centos7上设置计划任务的方法