快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

求php的mssql翻页程序!

PHP代码:--------------------------------------------------------------------------------

<html>
<head>
<title>PHP分页</title>
</head>
<body>
<?
//为了便于理解和更快地应用到工作中去,我们以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<=0)
{
echo "<p align=center>没有纪录";
exit;
}

//得到最大页码数maxPage
$maxPage = (int)ceil($totalNum/$pageSize);

if((int)$page > $maxPage)
$page=$maxPage;

?>
<table align="center" width="90%" border="1" cellspacing="2" cellpadding="2">
<tr bgcolor="#F7F2ff">
<?
//显示表格头
for($i = 0; $i < mssql_num_fields($res); $i++)
{
echo "<td>".mssql_field_name($res,$i)."</td>" ;
}
?>
</tr>
<?
//根据偏移量($page - 1)*$pageSize,运用mssql_data_seek函数得到要显示的页面
if( mssql_data_seek($res,($page-1)*$pageSize) )
{
$i=0;
//循环显示当前纪录集
for($i;$i<$pageSize;$i++){
echo "<tr>";

//得到当前纪录,填充到数组$row;
$row= mssql_fetch_row($res);
if($row)
{
//循环显示当前纪录的所有字段值
for($j = 0;$j < count($row);$j++)
{
echo "<td>".$row[$j]."</td>";
}
}
echo "</tr>";
}
}
?>
</table>
<br>
<hr size=1>
<?
$style = "2";
switch($style)
{
//格式: [首页] [上页] [下页] [末页]
case "1":
{
$out = "<div align=center>";
$out .= "[共".$maxPage."页]&nbsp;&nbsp;[第".$page."页]&nbsp;&nbsp;";

//首页和上页的链接
if( $totalNum>1 && $page>1)
{
$prevPage=$page-1;
$out .= " <a href=$PHP_SELF?page=1>[首页]</a>&nbsp;&nbsp;";
$out .= " <a href=$PHP_SELF?page=$prevPage >[上页]</a>&nbsp;&nbsp;";
}

//下页和末页的链接
if( $page>=1 && $page<$maxPage)
{
$nextPage= $page+1;
$out .= " <a href=$PHP_SELF?page=$nextPage >[下页]</a>&nbsp;&nbsp;";
$out .= " <a href=$PHP_SELF?page=$maxPage>[末页]</a>";
}
$out .= "</div>";
echo $out;
}
break;

//格式: 1 2 3 4 5
case "2":
{
$linkNum = "4";//页面上显示连接的个数显示
$out = "<div align=center>第&nbsp;";
$start = ($page-round($linkNum/2))>0 ? ($page-round($linkNum/2)) : "1";
$end = ($page+round($linkNum/2))<$maxPage ? ($page+round($linkNum/2)) : $maxPage;
if($page<>1)
$out .= "<a href=\\'?page=1\\' alt=\\'首页\\'>1</a>&nbsp;&nbsp;<<&nbsp;&nbsp;";
//for($t=1;$t<=$maxPage;$t++)
for($t=$start;$t<=$end;$t++)
{
$out .= ($page==$t) ? "<font color=\\'red\\'><b>".$t."</b></font>&nbsp;&nbsp;" : "<a href=\\'?page=$t\\'>$t</a>&nbsp;&nbsp;";
}
if($page<>$maxPage)
$out .= ">>&nbsp;&nbsp;<a href=\\'?page=$maxPage\\' alt=\\'末页\\'>$maxPage</a>";
$out .= "&nbsp;页</div>";
echo $out;
}
break;

//select下拉框直接跳转
case "3":
{
$out = "<div align=center>";
$out .= "第&nbsp;<select onchange=/"location=\\'?page=\\'+this.options[this.selectedIndex].value/">";
for($i=1; $i<=$maxPage; $i++) {
$out .= "<option value=\\'$i\\'".(($i==$page) ? \\' selected\\' : \\'\\').">$i</option>";
}
$out .= "</select>&nbsp;页";
$out .= "</div>";
echo $out;
}
break;
default:
echo "";
break;
}

?>
</body>
</html>




返回类别: 教程
上一教程: What\'s New in PHP 5 countstars(翻译)
下一教程: 在PHP中得到多选的下拉菜单的各项值(一个例子)

您可以阅读与"求php的mssql翻页程序!"相关的教程:
· PHP与已存在的Java应用程序集成
· PHP的计数器程序:解决全部可能碰到的问题
· 用Pear加速PHP程序开发
· 用PHP实现banner轮换的程序代码
· 如何对PHP程序中的常见漏洞进行攻击(上)
    微笑服务 优质保证 索取样品