PHP MSSQL 分页实例
本文实例为大家分享了PHPMSSQL可刷新分页实例,具体内容如下
<?php
/*
'页面说明:
*/
$link=mssql_connect("MYSQL2005","sa","123456")ordie("dblinkerror!".mssql_error());
mssql_select_db("edu_dzk",$link)ordie("dbopenerror!".mssql_error());
//mssql_query("setnames'utf8'");
$sqlstrcount="SELECTcount(1)FROMreguser";
$page=$_GET["page"];
if(!is_numeric($page)){
$page="1";
}
$pagesize="30";
//$sql=mysql_query($sqlstr);
//$totalnum=mysql_num_rows($sql);
$sql=mssql_query($sqlstrcount);
list($totalnum)=mssql_fetch_row($sql);
$pagecount=ceil($totalnum/$pagesize);
$offset=($page-1)*$pagesize;
$sqlstr="Selecttop".($pagesize)."*fromreguserwhereidnotin(selecttop".(($page-1)*$pagesize)."idfromreguserorderbyiddesc)orderbyiddesc";
$sql=mssql_query($sqlstr);
$result="";
while($result=mssql_fetch_array($sql)){
echo$result["id"].'<br>';
}
showpageinfo2($totalnum,$pagecount,$page,"&z=".$z);
mssql_Close($link);
functionshowpageinfo2($totalnum,$pagecount,$page,$filster)
{
echo"共计:$totalnum条记录,共$pagecount页,当前是第$page页";
if($page!=1)
{
echo"<ahref=?page=1$filster>首页</a>";
echo"<ahref=?page=".($page-1)."$filster>上一页</a>";
}
if($page<$pagecount)
{
echo"<ahref=?page=".($page+1)."$filster>下一页</a>";
echo"<ahref=?page=$pagecount$filster>尾页</a> ";
}
}
?>
下面为大家分享了PHP+MSSQL通用分页公式,供大家参考,具体内容如下
<?php
//phpinfo();
//$conn=mssql_connect('192.168.0.3','app','web')ordie(mssql_get_last_message());
//if($conn)
//{
//?echo"success";
//}else{
//?echo"fail";
//}
?>
<html>
<head>
<title>PHP分页</title>
</head>
<body>
<?
$gPageSize=10;//每页显示的记录数
$hostname=".";//MsSQLServer
$dbuser="sa";//用户名
$dbpasswd="";//密码
//连接数据库
$id=mssql_connect($hostname,$dbuser,$dbpasswd)ordie("无法连接数据库服务器!");
$db=mssql_select_db("phmis04",$id)ordie("无法连接数据库!");
//以xxx表为例,构建查询字符串
$query="selecttop20ag_mate,ag_color,ag_width,ag_mode,mi_name,convert(char,ag_date,23)asag_date,ag_grid,au_name,ag_numfromacco_gridjoinmate_infoonag_mate=mi_idjoinappl_unitonau_id=ag_unit;";
//执行查询语句
$rresult=mssql_query($query)ordie("无法执行SQL:$query");
//$page变量标示当前显示的页
if(!isset($page))$page=1;
if($page==0)$page=1;
//得到当前查询到的纪录数$nNumRows
if(($nNumRows=mssql_num_rows($rresult))<=0)
{
echo"<palign=center>没有纪录";
exit;
};
//得到最大页码数MaxPage
$MaxPage=(int)ceil($nNumRows/$gPageSize);
if((int)$page>$MaxPage)
$page=$maxPage;
?>
<tablealign="center"width="80%"border=0><tr><td><?echo"<fontsize=2>第
$page页,共$MaxPage页</font>";?></td><td></td></tr></table>
<tablealign="center"width="80%"border="1"cellspacing="0"cellpadding="4"
bordercolorlight="#CC9966"bgcolor="#00F2EE"bordercolordark="#FFFFFF"class="LZH">
<trbgcolor="#F7F2ff"style="font-size:14.8px;font-weight:bold">
<?
//显示表格头
for($iCnt=0;$iCnt<mssql_num_fields($rresult);$iCnt++)
{
echo"<td>".mssql_field_name($rresult,$iCnt)."</td>";
}
?>
</tr>
<?
//根据偏移量($page-1)*$gPageSize,运用mssql_data_seek函数得到要显示的页面
if(mssql_data_seek($rresult,($page-1)*$gPageSize))
{
$i=0;
//循环显示当前纪录集
for($i;$i<$gPageSize;$i++)
{
echo"<trstyle=\"font-size:12px\">";
//得到当前纪录,填充到数组$arr;
$arr=mssql_fetch_row($rresult);
if($arr)
{
//循环显示当前纪录的所有字段值
for($nOffSet=0;$nOffSet<count($arr);$nOffSet++)
{
echo"<td>".$arr[$nOffSet]."</td>";
}
}
echo"</tr>";
}
}
?>
</table>
<br>
<hrsize=1width=80%>
<divalign=centerstyle="font-size:12px">
<?
//首页和上一页的链接
if($nNumRows>1&&$page>1)
{
$prevPage=$page-1;
echo"<ahref=".$PHP_SELF."?page=1>首页</a>";
echo"<ahref=".$PHP_SELF."?page=".$prevPage.">上一页</a>";
}
//下一页和末页的链接
if($page>=1&&$page<$MaxPage)
{
$nextPage=$page+1;
echo"<ahref=".$PHP_SELF."?page=".$nextPage.">下一页</a>";
echo"<ahref=".$PHP_SELF."?page=".$MaxPage.">末页</a>";
}
?>
</div>
</body>
</html>
以上就是本文的全部内容,希望对大家学习php程序设计有所帮助。