background image

       PHP

 

     实现

 

     ODBC

 

     数据分页显示一例

 

 

$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 个字段名
   }