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

2016-01-29 14:47 58 1 收藏

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

【 tulaoshi.com - PHP 】

  $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($page0){ //页码比0大,表示有数据
   echo ' 分页 ';
   echo '<a href="' . $PHP_SELF . '?page=1"首页</a ';
   if($page1){
      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&nbsp;</td';
         }
      }
      else{
         odbc_fetch_into($rst,$rowi,&$row);
         for($j=0;$j<$fieldcount;$j++){
            $field = $row[$j];
            if($field=='') $field = '&nbsp;';
            echo '<td' . $field  . '</td';
         }
         $rowi = $rowi+1;
      }
      echo '</tr';
   }
   echo '</table';
   
   odbc_free_result($rst); //释

来源:http://www.tulaoshi.com/n/20160129/1494191.html

延伸阅读
标签: autocad教程
本文由 中国 wzm1234568 原创,转载请保留此信息! 昨天把平面图练习集(进阶型)140P做完了。在做的过程中,127题始终没有做出来。郁闷了好久。昨天终于找到答案了。我现在把做的过程贴出来。呵呵。(我可是初学者哟,高手看后要扔砖头的,捡小一点的啊,谢谢!!!) (另外,说一下,这个做法是我请教的高手教的,不是我解出来的,...
标签: PS PS教程
本教程为 www.jcwcn.com 中国 专栏作家 叶冷 原创,如转载请保留这段话: 此照片由于光线较强,帽子下的阴影过重,看不清人物的脸面。现在需要减淡阴影,恢复人物的脸面。 screen.width-500)this.style.width=screen.width-500;" border=0 pop="按此在新窗口浏览图片"> 1、新建一个图层,按ctrl+alt+~键选取高光,大家看,蚂蚁先出现...
为了使ODBC能与数据库一起工作,必须把数据库注册到ODBC驱动程序管理器,这项工作可以通过定义一个DSN或数据源名字来完成。通常,我们只能手动打开系统控制面板,运行其中的ODBC数据源管理器,手工配置数据源,但是这项工作对用户而言过于复杂,我们必须考虑用程序替用户完成这些配置工作。 1. SQLConfigDataSource 函数说明 ODBC A...
标签: SQLServer
  举个例子,设表名为bbs 回复数的字段为renum 变量名$renum 记录序号字段为id 变量名$id   当我们在论坛回贴时会要改写主贴的回复数,传统的方法要用到到两句SQL语句: //取出原值 $query1="select renum bbs where id = '$id'"; …… $renum++; //写回数据库 $query2="update bbs set renum = '$renum'...
标签: PHP
  注意本程序使用的表结构为:     use test;     create table image(                        id int unsigned auto_increment primary key,    &nbs...

经验教程

625

收藏

51
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部