用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 相关文章推荐
php中ob(Output Buffer 输出缓冲)函数使用方法
Jul 21 PHP
Array of country list in PHP with Zend Framework
Oct 17 PHP
解析PHP生成静态html文件的三种方法
Jun 18 PHP
(PHP实现)只使用++运算实现加法,减法,乘法,除法
Jun 27 PHP
10 个经典PHP函数
Oct 17 PHP
php对象和数组相互转换的方法
May 12 PHP
PHP 9 大缓存技术总结
Sep 17 PHP
php变量与数组相互转换的方法(extract与compact)
Dec 02 PHP
PHP实现简单的模板引擎功能示例
Sep 02 PHP
PHP数字金额转换成中文大写显示
Jan 05 PHP
php 中self,this的区别和操作方法实例分析
Nov 04 PHP
PHP预定义接口――Iterator用法示例
Jun 05 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 字符过滤类,用于过滤各类用户输入的数据
2009/05/27 PHP
php下使用curl模拟用户登陆的代码
2010/09/10 PHP
mac环境中使用brew安装php5.5.15
2014/08/18 PHP
php中ob_get_length缓冲与获取缓冲长度实例
2014/11/20 PHP
php实现屏蔽掉黑帽SEO的搜索关键字
2015/04/15 PHP
用javascript父窗口控制只弹出一个子窗口
2007/04/10 Javascript
jquery 插件开发方法小结
2009/10/23 Javascript
根据IP的地址,区分不同的地区,查看不同的网站页面的js代码
2013/02/26 Javascript
JavaScript Ajax Json实现上下级下拉框联动效果实例代码
2013/11/23 Javascript
在JS数组特定索引处指定位置插入元素的技巧
2014/08/24 Javascript
js实现window.open不被拦截的解决方法汇总
2014/10/30 Javascript
jQuery实现仿百度帖吧头部固定导航效果
2015/08/07 Javascript
js+html5实现canvas绘制网页时钟的方法
2016/05/21 Javascript
jquery自适应布局的简单实例
2016/05/28 Javascript
利用JS判断鼠标移入元素的方向
2016/12/11 Javascript
vue+node+webpack环境搭建教程
2017/11/05 Javascript
Node.js log4js日志管理详解
2018/07/31 Javascript
vue3.0 CLI - 2.3 - 组件 home.vue 中学习指令和绑定
2018/09/14 Javascript
JS 验证码功能的三种实现方式
2018/11/26 Javascript
[45:34]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第一场 12.18
2020/12/19 DOTA
python自动化测试实例解析
2014/09/28 Python
Python中的if、else、elif语句用法简明讲解
2016/03/11 Python
Python脚本简单实现打开默认浏览器登录人人和打开QQ的方法
2016/04/12 Python
浅谈python中的面向对象和类的基本语法
2016/06/13 Python
windows下python安装pip图文教程
2018/05/25 Python
Pycharm简单使用教程(入门小结)
2019/07/04 Python
详解python列表(list)的使用技巧及高级操作
2019/08/15 Python
python实现差分隐私Laplace机制详解
2019/11/25 Python
Python模块的制作方法实例分析
2019/12/21 Python
Jupyter notebook如何实现指定浏览器打开
2020/05/13 Python
Python中读取文件名中的数字的实例详解
2020/12/25 Python
Java servlet面试题
2012/03/04 面试题
公司活动邀请函
2014/01/24 职场文书
党员承诺书范文
2014/05/19 职场文书
小学思品教学反思
2016/02/20 职场文书
Spring事务管理下synchronized锁失效问题的解决方法
2022/03/31 Java/Android