第二个灵魂 发表于 2015-2-4 00:22:51

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:00

作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。

谁可相欹 发表于 2015-2-9 22:40:33

至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。

再现理想 发表于 2015-2-19 08:26:05

本文当是我的笔记啦,遇到的问题随时填充

因胸联盟 发表于 2015-3-6 14:14:09

首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。

乐观 发表于 2015-3-15 05:55:01

我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。

再见西城 发表于 2015-3-17 11:10:48

至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。

小女巫 发表于 2015-3-19 12:52:57

说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年具体的记不清啦,囧。

深爱那片海 发表于 2015-3-27 21:09:56

在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。

精灵巫婆 发表于 2015-3-27 21:09:57

真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,

愤怒的大鸟 发表于 2015-3-30 20:50:06

爱上php,他也会爱上你。

山那边是海 发表于 2015-3-31 07:33:03

首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。

若天明 发表于 2015-3-31 22:59:46

其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。

柔情似水 发表于 2015-4-11 08:29:24

装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。

活着的死人 发表于 2015-4-11 15:11:45

刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。

透明 发表于 2015-4-12 20:53:49

如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,

老尸 发表于 2015-4-12 21:57:05

对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。

小妖女 发表于 2015-4-16 02:57:42

使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。

兰色精灵 发表于 2015-4-27 13:24:33

Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81

分手快乐 发表于 2015-5-2 17:49:22

写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。
页: [1]
查看完整版本: PHP网页编程之改自erquan 的 odbc连mssql分页的类, ...