用PHP实现ODBC数据分页显示一例
发表于:2007-07-01来源:作者:点击数:
标签:
$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)
$pagesize = 2; //一页显示记录数
$con = odbc_connect("a
clearcase/" target="_blank" >ccess_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); //关闭连接并释放资源
?>
原文转自:http://www.ltesting.net