PHP教程之PHP和SQL Sever完成分页显示
会HTML吗?会,我能编好几个大表格排板的网页啦!分页|显示 【摘 要】 咱们用mssql_num_rows()函数失掉以后查询的纪录数,mssql_data_seek()函数是分页显示的关头函数 咱们在阅读网页时,常常看到分页显示的页面。假如想把大批数据供应给阅读者,分页显示是个十分适用的办法。鄙人面的文章中,咱们将引见若何用php和MS SQL Server完成对数据库中记载的分页显示。在本例中,咱们用mssql_num_rows()函数失掉以后查询的纪录数,联合页面巨细SgPageSize,失掉以后纪录集要显示的页面数,为分页显示打下了基本。mssql_data_seek()函数是分页显示的关头函数,该函数的第二个参数标示以后记载的偏移量,依据这个偏移量就能够找到要显示的页面。
分页显示源法式:
<br><html>
<head>
<title>php分页</title>
</head>
<body>
<?
//为了便于了解和更快地使用到任务中去,咱们以MS SQL Server的NorthWind数据库Customers表为例。
$gPageSize= 10; //每页显示的纪录数
$hostname = "localhost"; //MSSQL Server
$dbuser = "sa"; //用户名
$dbpasswd = "1111111"; //暗码
//毗连数据库
$id = mssql_connect($hostname,$dbuser,$dbpasswd) or die("没法毗连数据库办事器!");
//选择数据库,为了便利,这里以MSSQL Server的NorthWind数据库为例
$db = mssql_select_db("northwind",$id) or die("没法毗连数据库!");
//以Customers表为例,构建查询字符串
$query = "select * from Customers";
//履行查询语句
$rresult = mssql_query($query) or die("没法履行SQL:$query");
//$page变量标示以后显示的页
if(!isset($page)) $page=1;
if($page==0) $page=1;
//失掉以后查询到的记载数 $nNumRows
if(($nNumRows= mssql_num_rows($rresult))<=0)
{
echo "<p align=center>没有记载";
exit;
};
//失掉最大页码数MaxPage
$MaxPage = (int)ceil($nNumRows/$gPageSize);
if((int)$page > $MaxPage)
$page=$maxPage;
?>
<table align="center" width="80%" border=0> <tr><td><? echo "<font size=2>第
$page 页,共 $MaxPage 页</font>";?></td><td></td></tr></table>
<table align="center" width="80%" border="1" cellspacing="0" cellpadding="4" bordercolorlight="#CC9966" bgcolor="#00F2EE" bordercolordark="#FFFFFF" class="LZH">
<tr bgcolor="#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 "<tr style=\"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>
<hr size=1 width=80%>
<div align=center style="font-size:12px">
<?
//首页和上一页的链接
if( $nNumRows>1 && $page>1)
{
$prevPage=$page-1;
echo " <a href=$php_SELF?page=1>首页</a> ";
echo " <a href=$php_SELF?page=$prevPage >上一页</a> ";
}
//下一页和末页的链接
if( $page>=1 && $page<$MaxPage)
{
$nextPage= $page+1;
echo " <a href=$php_SELF?page=$nextPage >下一页</a> ";
echo " <a href=$php_SELF?page=$MaxPage >末页</a> ";
}
?>
</div>
</body>
</html>
把上述剧本法式停止一些修正,你就能够创立本人的办事器端分页显示的剧本法式了。
在这里想谈谈自己这六个多月的PHP学习心得,希望对给比我还新的新手们有所帮助,讲的不是很深刻,甚至有的想法可能是错误的,希望不要误导新人才好,大家要有自己的主见。 至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。 其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎 找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。 首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。 学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql 实践是检验自己会不会的真理。 兴趣是最好的老师,百度是最好的词典。 装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。 建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。 在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。 当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标, 写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。 当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标, 要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。 你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。 当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标, 使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的 曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线\\\\\\\'_\\\\\\\' ; 其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
页:
[1]