$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); //关闭连接并释放资源
?>
$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); //关闭连接并释放资源
?>
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
桃源资源网 Design By www.nqtax.com
暂无“用PHP实现ODBC数据分页显示一例”评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。