用odbc做的分页类
应用环境win2000+iis5+php4.02+sqlserver7.0
<? 
#$sql:sql语句 
#$result_array:传回的结果放到数组里 
#$num_rows:传回的总纪录数 
#$num_pagesize:每页显示的纪录数 
#$num_page:第几页 
#$comm:数据库连接号

function pagination($sql,&$result_array,&$num_rows,$num_pagesize,$num_page){ 
include 
"../db.php";//取得$conn连接号 conn
//把*用count(*)代替,取总的纪录数,本例适合 select * from ...这样的查询 
$sql_sum=str_replace("select * ","select count(*) as yjnum ",$sql); 
$result_id=odbc_do($conn,$sql_sum); 
$num_rows=odbc_result($result_id,"yjnum"); 

//取查询结果到数组里 
$result_id=odbc_do($conn,$sql); 
$yjfields_num=odbc_num_fields($result_id); 
if (
$num_rows%$num_pagesize){$all_pages=(int)($num_rows/$num_pagesize+1); 
}else{
$all_pages=(int)($num_rows/$num_pagesize);} 
$j=0
if (
$num_page<$all_pages){ 
$tmp=$num_pagesize
}else{ 
$tmp=$num_rows%$num_pagesize

while(
$j<$tmp){ 
$i=0
odbc_fetch_into($result_id,($num_page-1)*$num_pagesize+$j+1,&$line_array); 
while(
$i<=$yjfields_num){ 
$result_array[$j][$i]=$line_array[$i]; 
$i++; 

$j++; 


?>