用PHP實(shí)現(xiàn)ODBC數(shù)據(jù)分頁(yè)顯示一例
更新時(shí)間:2006年10月09日 00:00:00 作者:
$pagesize = 2; //一頁(yè)顯示記錄數(shù)
$con = odbc_connect("access_test","","",SQL_CUR_USE_ODBC) or die("無(wú)法連接ODBC數(shù)據(jù)源access_test"); //連接一個(gè)ODBC數(shù)據(jù)源
$sql = "select count(*) as total from test"; //取得記錄總數(shù)SQL語(yǔ)句
$rst = odbc_exec($con,$sql) or die("$sql查詢出錯(cuò)"); //執(zhí)行取得記錄總數(shù)SQL語(yǔ)句
$recordcount = odbc_result($rst,1); //取得記錄總數(shù),在這里也可以用$recordcount = odbc_result($rst,"total");
odbc_free_result($rst); //釋放資源
$pagecount = bcdiv($recordcount+$pagesize-1,$pagesize,0); //算出總頁(yè)數(shù)
if(!isset($page)) $page = 1; //如果沒(méi)有指定顯示頁(yè)碼,缺省為顯示第一頁(yè)
if($page<1) $page = 1; //如果頁(yè)碼比1小,則顯示第一頁(yè)
if($page>$pagecount) $page = $pagecount; //如果頁(yè)碼比總頁(yè)數(shù)大,則顯示最后一頁(yè)
if($page>0){ //頁(yè)碼比0大,表示有數(shù)據(jù)
echo '>> 分頁(yè) ';
echo '<a href="' . $PHP_SELF . '?page=1">首頁(yè)</a> ';
if($page>1){
echo '<a href="' . $PHP_SELF . '?page='. ($page-1) . '">前頁(yè)</a> ';
}
else{
echo '前頁(yè) ';
}
if($page<$pagecount){
echo '<a href="' . $PHP_SELF . '?page='. ($page+1) . '">后頁(yè)</a> ';
}
else{
echo '后頁(yè) ';
}
echo '<a href="' . $PHP_SELF . '?page=' . $pagecount . '">尾頁(yè)</a> ';
echo '頁(yè)次: ' . $page . '/' . $pagecount . '頁(yè) ';
echo $pagesize . '條/頁(yè) ';
echo '共' . $recordcount . '條 ';
$sql = "select * from test"; //取得數(shù)據(jù)SQL語(yǔ)句
$rst = odbc_exec($con,$sql) or die("$sql查詢出錯(cuò)"); //執(zhí)行取得數(shù)據(jù)SQL語(yǔ)句
$fieldcount = odbc_num_fields($rst); //取得字段總數(shù)
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個(gè)字段名
}
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 "無(wú)數(shù)據(jù)";
}
odbc_close($con); //關(guān)閉連接并釋放資源
?>
$con = odbc_connect("access_test","","",SQL_CUR_USE_ODBC) or die("無(wú)法連接ODBC數(shù)據(jù)源access_test"); //連接一個(gè)ODBC數(shù)據(jù)源
$sql = "select count(*) as total from test"; //取得記錄總數(shù)SQL語(yǔ)句
$rst = odbc_exec($con,$sql) or die("$sql查詢出錯(cuò)"); //執(zhí)行取得記錄總數(shù)SQL語(yǔ)句
$recordcount = odbc_result($rst,1); //取得記錄總數(shù),在這里也可以用$recordcount = odbc_result($rst,"total");
odbc_free_result($rst); //釋放資源
$pagecount = bcdiv($recordcount+$pagesize-1,$pagesize,0); //算出總頁(yè)數(shù)
if(!isset($page)) $page = 1; //如果沒(méi)有指定顯示頁(yè)碼,缺省為顯示第一頁(yè)
if($page<1) $page = 1; //如果頁(yè)碼比1小,則顯示第一頁(yè)
if($page>$pagecount) $page = $pagecount; //如果頁(yè)碼比總頁(yè)數(shù)大,則顯示最后一頁(yè)
if($page>0){ //頁(yè)碼比0大,表示有數(shù)據(jù)
echo '>> 分頁(yè) ';
echo '<a href="' . $PHP_SELF . '?page=1">首頁(yè)</a> ';
if($page>1){
echo '<a href="' . $PHP_SELF . '?page='. ($page-1) . '">前頁(yè)</a> ';
}
else{
echo '前頁(yè) ';
}
if($page<$pagecount){
echo '<a href="' . $PHP_SELF . '?page='. ($page+1) . '">后頁(yè)</a> ';
}
else{
echo '后頁(yè) ';
}
echo '<a href="' . $PHP_SELF . '?page=' . $pagecount . '">尾頁(yè)</a> ';
echo '頁(yè)次: ' . $page . '/' . $pagecount . '頁(yè) ';
echo $pagesize . '條/頁(yè) ';
echo '共' . $recordcount . '條 ';
$sql = "select * from test"; //取得數(shù)據(jù)SQL語(yǔ)句
$rst = odbc_exec($con,$sql) or die("$sql查詢出錯(cuò)"); //執(zhí)行取得數(shù)據(jù)SQL語(yǔ)句
$fieldcount = odbc_num_fields($rst); //取得字段總數(shù)
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個(gè)字段名
}
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 "無(wú)數(shù)據(jù)";
}
odbc_close($con); //關(guān)閉連接并釋放資源
?>
相關(guān)文章
實(shí)時(shí)抓取YAHOO股票報(bào)價(jià)的代碼
實(shí)時(shí)抓取YAHOO股票報(bào)價(jià)的代碼...2006-10-10php數(shù)組聲明、遍歷、數(shù)組全局變量使用小結(jié)
數(shù)組的本質(zhì):管理和操作一組變量,成批處理,下面為大家介紹下數(shù)組的分類、數(shù)組的分類及使用說(shuō)明,感興趣的朋友可以了解下哈2013-06-06PHP程序開(kāi)發(fā)范例學(xué)習(xí)之表單 獲取文本框的值
表單在網(wǎng)站中的應(yīng)用可以說(shuō)是網(wǎng)站的根基,幾乎沒(méi)有不用表單的網(wǎng)站,還是先回顧一下表單的用法吧2011-08-08PHP編程入門的基本語(yǔ)法知識(shí)點(diǎn)總結(jié)
這篇文章主要介紹了PHP編程入門的基本語(yǔ)法知識(shí)點(diǎn)總結(jié),包括PHP中所支持的數(shù)字類型與變量等基礎(chǔ)知識(shí),需要的朋友可以參考下2016-01-01