一个odbc连mssql分页的类


Posted in PHP onOctober 09, 2006

<!--二泉.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();
?>

PHP 相关文章推荐
php Mysql日期和时间函数集合
Nov 16 PHP
据说是雅虎的一份PHP面试题附答案
Jan 07 PHP
php设计模式 Decorator(装饰模式)
Jun 26 PHP
php实现在线生成条形码示例分享(条形码生成器)
Dec 30 PHP
PHP中strtr字符串替换用法详解
Nov 26 PHP
php设置页面超时时间解决方法
Sep 22 PHP
PHP+Apache+Mysql环境搭建教程
Aug 01 PHP
PHP实现生成带背景的图形验证码功能
Oct 03 PHP
实例分析PHP中PHPMailer发邮件
Dec 13 PHP
PHP实现非阻塞模式的方法分析
Jul 26 PHP
PHP7数组的底层实现示例
Aug 25 PHP
PHP实现一个按钮点击上传多个图片操作示例
Jan 23 PHP
拼音码表的生成
Oct 09 #PHP
用PHP和MySQL保存和输出图片
Oct 09 #PHP
PHP生成带有雪花背景的验证码
Oct 09 #PHP
一个可查询所有表的“通用”查询分页类
Oct 09 #PHP
Get或Post提交值的非法数据处理
Oct 09 #PHP
用Socket发送电子邮件
Oct 09 #PHP
编写自己的php扩展函数
Oct 09 #PHP
You might like
用文本文件实现的动态实时发布新闻的程序
2006/10/09 PHP
php中如何同时使用session和cookie来保存用户登录信息
2013/07/05 PHP
php遍历树的常用方法汇总
2015/06/18 PHP
PHP面向对象程序设计组合模式与装饰模式详解
2016/12/02 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
PHP 对象接口简单实现方法示例
2020/04/13 PHP
javascript简易缓动插件(源码打包)
2012/02/16 Javascript
可插入图片的TEXT文本框
2013/12/27 Javascript
jQuery插件实现适用于移动端的地址选择器
2016/02/18 Javascript
微信小程序 轮播图swiper详解及实例(源码下载)
2017/01/11 Javascript
利用jquery正则表达式在页面验证url网址输入是否正确
2017/04/04 jQuery
关于webpack代码拆分的解析
2017/07/20 Javascript
微信小程序分享海报生成的实现方法
2018/12/10 Javascript
JS运算符简单用法示例
2020/01/19 Javascript
[51:17]Mski vs VGJ.S Supermajor小组赛C组 BO3 第三场 6.3
2018/06/04 DOTA
Python打印斐波拉契数列实例
2015/07/07 Python
Python二叉树的定义及常用遍历算法分析
2017/11/24 Python
使用Python给头像戴上圣诞帽的图像操作过程解析
2019/09/20 Python
用python画一只可爱的皮卡丘实例
2019/11/21 Python
Python格式化输出--%s,%d,%f的代码解析
2020/04/29 Python
Python爬虫简单运用爬取代理IP的实现
2020/12/01 Python
Python将QQ聊天记录生成词云的示例代码
2021/02/10 Python
CSS3实现自定义Checkbox特效实例代码
2017/04/24 HTML / CSS
浅谈利用缓存来优化HTML5 Canvas程序的性能
2015/05/12 HTML / CSS
基于HTML5的WebGL经典3D虚拟机房漫游动画
2017/11/15 HTML / CSS
Dower & Hall官网:英国小众轻奢珠宝品牌
2019/01/31 全球购物
英国美发和美容产品商城:HQhair
2019/02/08 全球购物
Lentiamo比利时:便宜的隐形眼镜
2020/02/14 全球购物
外贸业务员工作职责
2014/01/06 职场文书
2014年迎新年活动方案
2014/02/19 职场文书
征婚广告词
2014/03/17 职场文书
党员一句话承诺大全
2014/03/28 职场文书
预备党员群众意见
2015/06/01 职场文书
证婚人婚礼致辞
2015/07/28 职场文书
优化经济发展环境工作总结
2015/08/11 职场文书
pytorch实现手写数字图片识别
2021/05/20 Python