$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); //關閉串連並釋放資源
?>