php代码:--------------------------------------------------------------------------------
php分页
//为了便于理解和更快地应用到工作中去,我们以ms sql server的northwind数据库customers表为例。
$pagesize= 4; //每页显示的记录数
$hostname = localhost; //mssql server
$dbuser = sa; //用户名
$dbpasswd = ; //密码
//连接数据库
$conn = mssql_connect($hostname,$dbuser,$dbpasswd) or die(无法连接数据库服务器!);
//选择数据库,为了方便,这里以mssql server的pubs数据库为例
$db = mssql_select_db(northwind,$conn) or die(无法连接数据库!);
//以customers表为例,构建查询字符串
$sql = select * from customers;
//执行查询语句
$res = mssql_query($sql) or die(无法执行sql:$sql);
//$page变量标示当前显示的页
if(!isset($page)) $page=1;
if($page==0) $page=1;
//得到当前查询到的纪录数 $totalnum
$totalnum= mssql_num_rows($res);
if($totalnum{
echo 没有纪录;
exit;
}
//得到最大页码数maxpage
$maxpage = (int)ceil($totalnum/$pagesize);
if((int)$page > $maxpage)
$page=$maxpage;
?>
//显示表格头
for($i = 0; $i {
echo .mssql_field_name($res,$i). ;
}
?>
//根据偏移量($page - 1)*$pagesize,运用mssql_data_seek函数得到要显示的页面
if( mssql_data_seek($res,($page-1)*$pagesize) )
{
$i=0;
//循环显示当前纪录集
for($i;$i echo ;
//得到当前纪录,填充到数组$row;
$row= mssql_fetch_row($res);
if($row)
{
//循环显示当前纪录的所有字段值
for($j = 0;$j {
echo .$row[$j]. ;
}
}
echo
;
}
}
?>
$style = 2;
switch($style)
{
//格式: [首页] [上页] [下页] [末页]
case 1:
{
$out = ;
$out .= [共.$maxpage.页] [第.$page.页] ;
//首页和上页的链接
if( $totalnum>1 && $page>1)
{
$prevpage=$page-1;
$out .= [首页] ;
$out .= [上页] ;
}
//下页和末页的链接
if( $page>=1 && $page {
$nextpage= $page+1;
$out .= [下页] ;
$out .= [末页];
}
$out .=
;
echo $out;
}
break;
//格式: 1 2 3 4 5
case 2:
{
$linknum = 4;//页面上显示连接的个数显示
$out = 第 ;
$start = ($page-round($linknum/2))>0 ? ($page-round($linknum/2)) : 1;
$end = ($page+round($linknum/2)) if($page1)
$out .= 1 //for($t=1;$t for($t=$start;$t {
$out .= ($page==$t) ? .$t. : $t ;
}
if($page$maxpage)
$out .= >> $maxpage;
$out .= 页
;
echo $out;
}
break;
//select下拉框直接跳转
case 3:
{
$out = ;
$out .= 第 ;
for($i=1; $i $out .= $i;
}
$out .= 页;
$out .=
;
echo $out;
}
break;
default:
echo ;
break;
}
?>
