用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 相关文章推荐
通过html表格发电子邮件
Oct 09 PHP
mysq GBKl乱码
Nov 28 PHP
经典的PHPer为什么被认为是草根?
Apr 02 PHP
浅析PHP递归函数返回值使用方法
Feb 18 PHP
php ZipArchive压缩函数详解实例
Nov 06 PHP
linux使用crontab实现PHP执行计划定时任务
May 10 PHP
PHP大转盘中奖概率算法实例
Oct 21 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
Sep 16 PHP
ThinkPHP5框架缓存查询操作分析
May 30 PHP
laravel中的一些简单实用功能
Nov 03 PHP
Laravel框架实现多个视图共享相同数据的方法详解
Jul 09 PHP
PHP设计模式之命令模式示例详解
Dec 20 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_Cooikes不同页面无法传递的解决方法
2014/03/07 PHP
php socket通信(tcp/udp)实例分析
2016/02/14 PHP
注释PHP和html混合代码的小技巧(分享)
2016/11/03 PHP
什么是PHP文件?如何打开PHP文件?
2017/06/27 PHP
PHP以json或xml格式返回请求数据的方法
2018/05/31 PHP
laravel-admin 实现给grid的列添加行数序号的方法
2019/10/08 PHP
jquery图片放大功能简单实现
2013/08/01 Javascript
JQuery动画animate的stop方法使用详解
2014/05/09 Javascript
JavaScript实现找出字符串中第一个不重复的字符
2014/09/03 Javascript
跟我学习javascript创建对象(类)的8种方法
2015/11/20 Javascript
JavaScript制作简单的日历效果
2016/03/10 Javascript
Spring shiro + bootstrap + jquery.validate 实现登录、注册功能
2017/06/02 jQuery
seajs实现强制刷新本地缓存的方法分析
2017/10/16 Javascript
es6在react中的应用代码解析
2017/11/08 Javascript
js实现HTML中Select二级联动的实例
2018/01/05 Javascript
vue-cli中安装方法(图文详细步骤)
2018/12/12 Javascript
详解vuejs2.0 select 动态绑定下拉框支持多选
2019/04/25 Javascript
vue实现图片预览组件封装与使用
2019/07/13 Javascript
Javascript 关于基本类型和引用类型的个人理解
2019/11/01 Javascript
JS如何监听div的resize事件详解
2020/12/03 Javascript
Python学习教程之常用的内置函数大全
2017/07/14 Python
Python数据分析中Groupby用法之通过字典或Series进行分组的实例
2017/12/08 Python
python实现简单淘宝秒杀功能
2018/05/03 Python
Python换行与不换行的输出实例
2020/02/19 Python
pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]
2020/04/24 Python
Python基础教程(一)——Windows搭建开发Python开发环境
2020/07/20 Python
Sentry错误日志监控使用方法解析
2020/11/12 Python
优衣库澳大利亚官网:UNIQLO澳大利亚
2017/01/18 全球购物
大学生创业项目方案
2014/03/08 职场文书
新年爱情寄语
2014/04/08 职场文书
合作协议书模板2014
2014/09/26 职场文书
2014年大学学生会工作总结
2014/12/02 职场文书
2015社区精神文明建设工作总结
2015/04/21 职场文书
写给老师的保证书
2015/05/09 职场文书
python - timeit 时间模块
2021/04/06 Python
浅谈Go语言多态的实现与interface使用
2021/06/16 Golang