用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在字符串中查找指定字符串并删除的代码
Oct 02 PHP
PHP 各种排序算法实现代码
Aug 20 PHP
提高PHP编程效率 引入缓存机制提升性能
Feb 15 PHP
一些被忽视的PHP函数(简单整理)
Apr 30 PHP
解析PHP自带的进位制之间的转换函数
Jun 08 PHP
phpstrom使用xdebug配置方法
Dec 17 PHP
PHP采集类snoopy详细介绍(snoopy使用教程)
Jun 19 PHP
PHP批量生成图片缩略图的方法
Jun 18 PHP
Yii2隐藏frontend/web和backend/web的方法
Dec 12 PHP
Thinkphp和Bootstrap结合打造个性的分页样式(推荐)
Aug 01 PHP
Laravel如何自定义command命令浅析
Mar 23 PHP
PHP实现发送微博消息功能完整示例
Dec 04 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/08/20 PHP
PHP中error_reporting()函数的用法(修改PHP屏蔽错误)
2011/07/01 PHP
PHP遍历XML文档所有节点的方法
2015/03/12 PHP
php实现scws中文分词搜索的方法
2015/12/25 PHP
php实现基于openssl的加密解密方法
2016/09/30 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
2018/06/16 PHP
通过jQuery打造支持汉字,拼音,英文快速定位查询的超级select插件
2010/06/18 Javascript
javascript判断ie浏览器6/7版本加载不同样式表的实现代码
2011/12/26 Javascript
JavaScript省市联动实现代码
2014/02/15 Javascript
浅析js绑定事件的常用方法
2016/05/15 Javascript
jQuery Form表单取值的方法
2017/01/11 Javascript
Spring Boot+AngularJS+BootStrap实现进度条示例代码
2017/03/02 Javascript
详解nodeJS中读写文件方法的区别
2017/03/06 NodeJs
基于vue2.0+vuex的日期选择组件功能实现
2017/03/13 Javascript
JavaScript订单操作小程序完整版
2017/06/23 Javascript
VUE中的无限循环代码解析
2017/09/22 Javascript
JS动态添加元素及绑定事件造成程序重复执行解决
2017/12/07 Javascript
Vue2.0实现调用摄像头进行拍照功能 exif.js实现图片上传功能
2018/04/28 Javascript
Vue.js 十五分钟入门图文教程
2018/09/12 Javascript
对angular 监控数据模型变化的事件方法$watch详解
2018/10/09 Javascript
基于layui框架响应式布局的一些使用详解
2019/09/16 Javascript
在LayUI图片上传中,解决由跨域问题引起的请求接口错误的方法
2019/09/24 Javascript
使用vue实现一个电子签名组件的示例代码
2020/01/06 Javascript
vue 判断元素内容是否超过宽度的方式
2020/07/29 Javascript
[01:51]开启你的城市传奇 完美世界城市挑战赛开始报名
2018/10/09 DOTA
在Python中marshal对象序列化的相关知识
2015/07/01 Python
Python实现翻转数组功能示例
2018/01/12 Python
django1.11.1 models 数据库同步方法
2018/05/30 Python
python暴力解压rar加密文件过程详解
2019/07/05 Python
django框架使用views.py的函数对表进行增删改查内容操作详解【models.py中表的创建、views.py中函数的使用,基于对象的跨表查询】
2019/12/12 Python
Python3压缩和解压缩实现代码
2021/03/01 Python
耐克亚太地区:Nike APAC
2019/12/07 全球购物
异常和异常类的概念
2014/09/12 面试题
What is view? why do we have view?
2012/06/22 面试题
工程造价与财务管理专业应届生求职信
2013/10/06 职场文书
错误码NET::ERR_CERT_DATE_INVALID证书已过期解决方法?
2022/07/07 数码科技