当前位置: 首页 > 图文教程 > 网络编程 > PHP > 用PHP实现ODBC数据分页显示一例

PHP
php新手照样打造自己的搜索引擎phpdig
PHP实现JAVA的XStream (PHP)
PHP单文件上传类或多文件上传类源码
PHP中GBK和UTF8编码处理
DISCUZ架构:misc.func.php文件分析一
PHP教程:PHP中对文件和目录的操作方法
一个完整、安全的PHP用户登录系统
完全讲解PHP+MySQL的分页显示示例分析
PHP应用实例:实现给上传图片加水印图案
用 PHP V5 开发多任务应用程序
用PHP自动把纯文本转换成Web页面
PHP中使用FCKeditor2.3.2配置
网友分享:十四条令PHP初学者头疼问题大总结
PHP程序61条面向对象分析设计的经验原则
PHP 面向对象的方法重载
php可以生成缩略图和水印图的类
十四条令PHP初学者头疼问题大总结
关于PHP接口的学习
php的ajax框架xajax入门与试用
PHP 开发中的中文编码问题

用PHP实现ODBC数据分页显示一例


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 185 ::
收藏到网摘: n/a

$pagesize = 2; //一页显示记录数

$con = odbc_connect("access_test","","",SQL_CUR_USE_ODBC) or die("无法连接ODBC数据源access_test"); //连接一个ODBC数据源
$sql = "select count(*) as total from test"; //取得记录总数SQL语句
$rst = odbc_exec($con,$sql) or die("$sql查询出错"); //执行取得记录总数SQL语句
$recordcount = odbc_result($rst,1); //取得记录总数,在这里也可以用$recordcount = odbc_result($rst,"total");
odbc_free_result($rst); //释放资源

$pagecount = bcdiv($recordcount+$pagesize-1,$pagesize,0); //算出总页数

if(!isset($page)) $page = 1; //如果没有指定显示页码,缺省为显示第一页
if($page<1) $page = 1; //如果页码比1小,则显示第一页
if($page>$pagecount) $page = $pagecount; //如果页码比总页数大,则显示最后一页

if($page>0){ //页码比0大,表示有数据
   echo '>> 分页 ';
   echo '<a href="' . $PHP_SELF . '?page=1">首页</a> ';
   if($page>1){
      echo '<a href="' . $PHP_SELF . '?page='. ($page-1) . '">前页</a> ';
   }
   else{
      echo '前页 ';
   }
   if($page<$pagecount){
      echo '<a href="' . $PHP_SELF . '?page='. ($page+1) . '">后页</a> ';
   }
   else{
      echo '后页 ';
   }
   echo '<a href="' . $PHP_SELF . '?page=' . $pagecount . '">尾页</a> ';
   echo '页次: ' . $page . '/' . $pagecount . '页 ';
   echo $pagesize . '条/页 ';
   echo '共' . $recordcount . '条 ';
  
   $sql = "select * from test"; //取得数据SQL语句
   $rst = odbc_exec($con,$sql) or die("$sql查询出错"); //执行取得数据SQL语句
  
   $fieldcount = odbc_num_fields($rst); //取得字段总数
  
   echo '<table border="1" cellspacing="0" cellpadding="0">';
   echo '<tr>';
   for($i=1;$i<=$fieldcount;$i++){
      echo '<th>' . odbc_field_name($rst,$i) . '</th>'; //显示第$i个字段名
   }
   echo '</tr>';
   $rowi = ($page-1)*$pagesize+1;
   for($i=0;$i<$pagesize;$i++){
      echo '<tr>';
      if($rowi>$recordcount){
         for($j=0;$j<$fieldcount;$j++){
            echo '<td>&nbsp;</td>';
         }
      }
      else{
         odbc_fetch_into($rst,$rowi,&$row);
         for($j=0;$j<$fieldcount;$j++){
            $field = $row[$j];
            if($field=='') $field = '&nbsp;';
            echo '<td>' . $field  . '</td>';
         }
         $rowi = $rowi+1;
      }
      echo '</tr>';
   }
   echo '</table>';
  
   odbc_free_result($rst); //释放资源
}
else{
   echo "无数据";
}

odbc_close($con); //关闭连接并释放资源
?>