PHP脚本的8个技巧(2)

  • 作者:未知 来源:未知 添加时间:2006年7月2日 字体:

  •     开放数据库连接(ODBC)已成为一种与数据库进行通信的工业标准。PHP也提供了标准的接口,使得PHP能调用Access,SQL Server等数据库。其相关函数是:

       

      (1)integer odbc_connect(string dsn, string user, string password)

       

      连接到一个ODBC数据库源名字上。

       

      (2)integer odbc_exec(integer connection, string query)或 odbc_do(integer connection, string query)

       

      在一个连接上执行查询。

       

      (3)boolean odbc_fetch_row(integer result, integer row)

       

      从一个结果集中获取一行数据。Row参数是可选的,若为空缺,则返回下一个有效行。在结果集中不再剩余行时返回false。

       

      (4)boolean odbc_close(integer connection)

       

      关闭一个数据库的连接。若在该连接上有打开的事务,则返回一个错误,而且连接不会被关闭。

       

      最后,还是看个分页的例子:

       

      <?

       

      //设定每页显示条数

       

      $show_num = 10;

       

      $spages = $pages;//避免$pages后期被改变

       

      //定义连接

       

      $dsn = "localhost";

       

      $user = "sa";

       

      $password = "";

       

      //计算总记录数

       

      $rs_num = "select count(*) as id from bbs where zu='0' and lei='".$lei."'";

       

      $conn_id = odbc_connect($dsn,$user,$password);

       

      $rnum = odbc_exec($conn_id,$rs_num);

       

      while(odbc_fetch_row($rnum)){

       

      $total_rs = odbc_result($rnum,"id");//将总记录数放入$total_rs变量

       

      }

       

      //计算与页有关的条数

       

      $nnn = $total_rs / $show_num;//计算总页数

       

      $hnnn = intval($nnn);//将总页数取整

       

      $cnnnn = $nnn - $hnnn;

       

      //计算所需总页数

       

      switch ($cnnn){

       

      case "0":

       

      $hnnn++;

       

      $nnn = $hnnn;//总页数

       

      break;

       

      default :

       

      $nnn = $hnnn;//总页数

       

      break;

       

      };

       

      if ($nnn == 0)$nnn++;

       

      //计算页面改变所需的条件

       

      $fore = $pages;

       

      $next = $pages;

       

      $fore -= 1;

       

      $next += 1;

       

      if ($fore > 0) {

       

      echo "<a>首页</a>";

       

      echo "<a>前页</a>";

       

      };

       

      if ($pages < $nnn) {

       

      echo "<a>后页</a>";

       

      echo "<a>尾页</a>";

       

      };

       

      echo "共".$nnn."页";

       

      $query_string = "SELECT * FROM table where condition order by you wanted order";

       

      $cur = odbc_exec($conn_id,$query_string);

       

      //取到循环的顶部

       

      $cnum = ($pages-1) * $show_num;//计算当前的记录游标的位置

       

      //空循环到显示记录游标处

       

      if ($cnum != 0){

       

      for ($i=0;$i<=$cnum;odbc_fetch_row($cur)){$i++;};

       

      };

       

      $i=1;

       

      //显示记录

       

      while(odbc_fetch_row($cur)){

       

      echo ;

       

      if ($i == $show_num){//在不满页数时跳出程序

       

      break;

       

      };

       

      $i++;

       

      };

       

      //关闭连接

       

      odbc_close($conn_id);

       

      ?>

  • 上一篇:PHP脚本的8个技巧(3)
  • 下一篇:PHP脚本的8个技巧(1)
  • 最后更新时间:2024年12月22日
  • 返回页面顶端
ppdesk