仓酷云

标题: PHP网页编程之改自erquan 的 odbc连mssql分页的类, ... [打印本页]

作者: 第二个灵魂    时间: 2015-2-4 00:22
标题: PHP网页编程之改自erquan 的 odbc连mssql分页的类, ...
学会了PHP,那么学其他的语言,肯定速成,反过来也一样,如果你之前学过其他的语言,那么学PHP肯定快。odbc|分页   <?
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,total 为一个字段
        //    $this->total=@odbc_num_rows($dT);         //应絮聒老迈的定见,odbc_num_rows 不克不及用,不知为什么,前往为-1
        return $this->total;
    }

    ##############################
    ######## 停止表的查询 #########
    function getList($sql,$onepage,$page){
        if ($page<>"" and $page<1)         //当此页小于时的处置
            $page=1;
        $this->s=$sql;
        $this->onepage=$onepage;        //每页显示的纪录数
        $this->page=$page;        //页数
        $this->dList=$this->getDo($this->s);      //毗连表的游标
        $this->pages=ceil($this->total/$this->onepage);     //盘算大于指定命的最小整数
        if ($this->page>$this->pages)          //当此页大于最大页的处置
            $this->page=$this->pages;
        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 getfetch_row($dList){
        return odbc_fetch_row($dList);
    }   

       ##############################
    function getresult($dList,$num){
        return odbc_result($dList,$num);
    }   
    ##############################
    ######## 翻页 ################
    function getFanye(){
        $str="";
        if($this->page!=1)
            $str.="<form name=go2to form method=Post action='".$PHP_SELF."'><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='000064'>  转到 第<input type='text' name='page' size=2 maxLength=3 style='font-size: 9pt; color:#00006A; position: relative; height: 18' value=".$this->page.">页</font> ";
        $str.="<input class=button type='button' value='确 定' onclick=check() style='font-family: 宋体; font-size: 9pt; color: #000073; position: relative; height: 19'></form>";
        return $str;
    }
   
    ####################################
    ######## 对停止提交表单的验验 #########
    function check()
    {
       if (isNaN(go2to.page.value))
            echo "javascript:alert('请准确填写转到页数!');";
          else if (go2to.page.value==""){
            echo "javascript:alert('请输出转到页数!');";
         }
       else{
            go2to.submit();
       }
    }

    function getNums(){       //每页最后的纪录数
        return $this->nums;
    }
   
    function getOnepage(){        //每页实践条数
        return $this->onepage;
    }

    function getI(){      //暂未用
    //    $this->i=$this-pageone*($this->page-1)
        return $this->i;
    }
   
    function getPage(){
        return $this->page;
    }

    function getMess($error){        //定制动静
        echo"<center>$error</center>";
        exit;
    }
}
?>

<?php
// 测试法式
      $pg=new Pages();
      $pg->getConnect("dsn","user","password");
      $pg->getTotal("select count(*) as total from bul_file");            //连先生表求总数
      $pg->getList($sql,3,$page);
      if($pg->getNums()!=0){
         for($i=0;$i<$pg->getNums();$pg->getfetch_row($pg->dList),$i++);        //同上
      }
      echo "<table width=\"400\" border=1 cellspacing=\"0\" cellpadding=\"0\" bordercolordark=\"#FFFFFF\" bordercolorlight=\"#000000\">";
      echo $pg->getFanye();
      echo "</td></tr></table>";
      echo "<table width=\"400\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\" bordercolordark=\"#FFFFFF\" bordercolorlight=\"#000000\">";
      echo "<tr bgcolor=\"#CCFF99\"><td width=\"5%\"><font face=\"隶书\" size=\"4\"><div align=\"center\">ID</div></font></td>      <td width=\"50%\"><font face=\"隶书\" size=\"4\"><div align=\"center\">题目</div></font></td>        <td width=\"30%\"><font face=\"隶书\" size=\"4\"><div align='center'>日期</div></font></td>       </tr>\";
        $i=1;
      while($pg->getfetch_row($pg->dList)){
           $pg->getNums();
           echo "<tr><td width=\"5%\">".($pg->nums+$i)."</a></td><td width=\"50%\"><div align='center'><a href=\"list_bul.php?id=".$pg->getresult($pg->dList,1)."\" target=\"left\">".$pg->getresult($pg->dList,2)."</a></div></td><td width=\"30%\"><div align='center'>".substr($pg->getresult($pg->dList,4),1,10)."</div></td></tr>";
           if($i==$pg->getOnepage()){        //跳出轮回
                break;
       }
      $i++;
?>  既然选择了PHP,就要坚持学下去!大家有没有问自己为什么会选择学习PHP呢?就我个人而言,完全是因为兴趣,因为我的专业和计算机完全无关,但是就是对编程很赶兴趣,尤其对网络编程、web开发特别赶兴趣。
作者: 莫相离    时间: 2015-2-4 12:50
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
作者: 谁可相欹    时间: 2015-2-9 22:40
至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。
作者: 再现理想    时间: 2015-2-19 08:26
本文当是我的笔记啦,遇到的问题随时填充
作者: 因胸联盟    时间: 2015-3-6 14:14
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
作者: 乐观    时间: 2015-3-15 05:55
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
作者: 再见西城    时间: 2015-3-17 11:10
至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。
作者: 小女巫    时间: 2015-3-19 12:52
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
作者: 深爱那片海    时间: 2015-3-27 21:09
在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。
作者: 精灵巫婆    时间: 2015-3-27 21:09
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
作者: 愤怒的大鸟    时间: 2015-3-30 20:50
爱上php,他也会爱上你。
作者: 山那边是海    时间: 2015-3-31 07:33
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
作者: 若天明    时间: 2015-3-31 22:59
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
作者: 柔情似水    时间: 2015-4-11 08:29
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
作者: 活着的死人    时间: 2015-4-11 15:11
刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。
作者: 透明    时间: 2015-4-12 20:53
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
作者: 老尸    时间: 2015-4-12 21:57
对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。
作者: 小妖女    时间: 2015-4-16 02:57
使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。
作者: 兰色精灵    时间: 2015-4-27 13:24
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
作者: 分手快乐    时间: 2015-5-2 17:49
写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2