用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学习之 数组声明
Jun 09 PHP
逆序二维数组插入一元素的php代码
Jun 08 PHP
php内核解析:PHP中的哈希表
Jan 30 PHP
ThinkPHP的URL重写问题
Jun 22 PHP
PHP模拟asp中response类实现方法
Aug 08 PHP
php微信开发之自定义菜单完整流程
Oct 08 PHP
PHP+JQUERY操作JSON实例
Mar 23 PHP
PHP策略模式定义与用法示例
Jul 27 PHP
laravel学习笔记之模型事件的几种用法示例
Aug 15 PHP
微信公众平台开发教程⑥ 微信开发集成类的使用图文详解
Apr 10 PHP
Thinkphp5.0 框架的请求方式与响应方式分析
Oct 14 PHP
PHP中strval()函数实例用法
Jun 07 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常见字符串处理函数用法示例【转换,转义,截取,比较,查找,反转,切割】
2016/12/24 PHP
thinkphp自定义权限管理之名称判断方法
2017/04/01 PHP
使用ucenter实现多站点同步登录的讲解
2019/03/21 PHP
Jquery 常用方法经典总结
2010/01/28 Javascript
javascript innerHTML使用分析
2010/12/03 Javascript
让人期待的2011年度最佳 jQuery 插件分享
2012/03/16 Javascript
JS子父窗口互相操作取值赋值的方法介绍
2013/05/11 Javascript
简单实用的全选反选按钮例子
2013/10/18 Javascript
JavaScript定时显示广告代码分享
2015/03/02 Javascript
基于JS实现移动端访问PC端页面时跳转到对应的移动端网页
2020/12/24 Javascript
javascript检测移动设备横竖屏
2016/05/21 Javascript
JS与HTML结合使用marquee标签实现无缝滚动效果代码
2016/07/05 Javascript
BootStrap Tooltip插件源码解析
2016/12/27 Javascript
vue构建动态表单的方法示例
2018/09/22 Javascript
Vue.js计算机属性computed和methods方法详解
2019/10/12 Javascript
JavaScript回调函数callback用法解析
2020/01/14 Javascript
详解JS深拷贝与浅拷贝
2020/08/04 Javascript
微信小程序实现左滑删除效果
2020/11/18 Javascript
[51:50]完美世界DOTA2联赛 Magma vs GXR 第一场 11.07
2020/11/10 DOTA
python连接oracle数据库实例
2014/10/17 Python
Python 2.7.x 和 3.x 版本的重要区别小结
2014/11/28 Python
Python中datetime常用时间处理方法
2015/06/15 Python
python编程实现希尔排序
2017/04/13 Python
网红编程语言Python将纳入高考你怎么看?
2018/06/07 Python
Python静态类型检查新工具之pyright 使用指南
2019/04/26 Python
使用Python opencv实现视频与图片的相互转换
2019/07/08 Python
python IDLE添加行号显示教程
2020/04/25 Python
python3.x中安装web.py步骤方法
2020/06/23 Python
python 写一个文件分发小程序
2020/12/05 Python
HTML5 canvas画矩形时出现边框样式不一致的解决方法
2013/10/14 HTML / CSS
社保委托书怎么写
2014/08/02 职场文书
2015年大学生工作总结
2015/04/21 职场文书
nginx的zabbix 5.0安装部署的方法步骤
2021/07/16 Servers
《王者天下》第4季首话新剧照 4月9日正式开播
2022/04/07 日漫
Redis基本数据类型哈希Hash常用操作命令
2022/06/01 Redis
超越Nginx的Web服务器caddy优雅用法
2022/06/21 Servers