$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); //关闭连接并释放资源?>