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


Posted in PHP onOctober 09, 2006

$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> </td>';
         }
      }
      else{
         odbc_fetch_into($rst,$rowi,&$row);
         for($j=0;$j<$fieldcount;$j++){
            $field = $row[$j];
            if($field=='') $field = ' ';
            echo '<td>' . $field  . '</td>';
         }
         $rowi = $rowi+1;
      }
      echo '</tr>';
   }
   echo '</table>';

   odbc_free_result($rst); //释放资源
}
else{
   echo "无数据";
}

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

PHP 相关文章推荐
几种显示数据的方法的比较
Oct 09 PHP
PHP 字符串正则替换函数preg_replace使用说明
Jul 15 PHP
PHP提取字符串中的图片地址[正则表达式]
Nov 12 PHP
php 去除html标记--strip_tags与htmlspecialchars的区别详解
Jun 26 PHP
php操作mysqli(示例代码)
Oct 28 PHP
PHP连接和操作MySQL数据库基础教程
Sep 29 PHP
ThinkPHP处理Ajax返回的方法
Nov 22 PHP
[原创]php简单隔行变色功能实现代码
Jul 09 PHP
PHP7.1方括号数组符号多值复制及指定键值赋值用法分析
Sep 26 PHP
php连接MSsql server的五种方法总结
Mar 04 PHP
PHP数组常用函数实例小结
Aug 20 PHP
PHP标准库(PHP SPL)详解
Mar 16 PHP
使用 php4 加速 web 传输
Oct 09 #PHP
php 中include()与require()的对比
Oct 09 #PHP
php生成WAP页面
Oct 09 #PHP
让你同时上传 1000 个文件 (一)
Oct 09 #PHP
让你同时上传 1000 个文件 (二)
Oct 09 #PHP
一个可以删除字符串中HTML标记的PHP函数
Oct 09 #PHP
利用static实现表格的颜色隔行显示
Oct 09 #PHP
You might like
php摘要生成函数(无乱码)
2012/02/04 PHP
php中3des加密代码(完全与.net中的兼容)
2012/08/02 PHP
几个实用的PHP内置函数使用指南
2014/11/27 PHP
PHP中创建和验证哈希的简单方法实探
2015/07/06 PHP
详解PHP中websocket的使用方法
2016/09/15 PHP
PHP培训要多少钱
2017/06/06 PHP
CI框架附属类用法分析
2018/12/26 PHP
JavaScript 弹出窗体点击按钮返回选择数据的实现
2010/04/01 Javascript
基于jquery的划词搜索实现(备忘)
2010/09/14 Javascript
js简单实现标签云效果实例
2015/08/06 Javascript
JS生成某个范围的随机数【四种情况详解】
2016/04/20 Javascript
Vue.js计算属性computed与watch(5)
2016/12/09 Javascript
vue.js加载新的内容(实例代码)
2017/06/01 Javascript
vue实现表格增删改查效果的实例代码
2017/07/18 Javascript
初探JavaScript 面向对象(推荐)
2017/09/03 Javascript
Node.js成为Web应用开发最佳选择的原因
2018/02/05 Javascript
webpack4.x开发环境配置详解
2018/08/04 Javascript
js根据json数据中的某一个属性来给数据分组的方法
2018/10/08 Javascript
angularJS1 url中携带参数的获取方法
2018/10/09 Javascript
JavaScript判断数据类型有几种方法及区别介绍
2020/09/02 Javascript
H5 js点击按钮复制文本到粘贴板
2020/11/19 Javascript
[01:34]DAC2018主赛事第四日五佳镜头 Gh巨牙海民助Miracle-死里逃生
2018/04/07 DOTA
python strip()函数 介绍
2013/05/24 Python
python数字图像处理之骨架提取与分水岭算法
2018/04/27 Python
点球小游戏python脚本
2018/05/22 Python
Python 3.6 -win64环境安装PIL模块的教程
2019/06/20 Python
jupyter notebook 实现matplotlib图动态刷新
2020/04/22 Python
使用Keras加载含有自定义层或函数的模型操作
2020/06/10 Python
雅诗兰黛美国官网:Estee Lauder美国
2016/07/21 全球购物
UNIX文件系统分类
2014/11/11 面试题
国贸专业个人求职信范文
2014/01/08 职场文书
实习单位指导教师评语
2014/12/30 职场文书
劳动仲裁代理词范文
2015/05/25 职场文书
小学入学感言
2015/08/01 职场文书
2016年敬老月活动总结
2016/04/05 职场文书
Python NumPy灰度图像的压缩原理讲解
2021/08/04 Python