您的位置:首页技术文章
文章详情页

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

浏览:2日期:2024-01-17 10:31:08
$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>&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); //释放资源}else{;;;echo "无数据";}odbc_close($con); //关闭连接并释放资源?>
标签: PHP