PHP网页编程之求php的mssql翻页法式!
即使你理解不了PHP,但是也必须先跟它混个脸熟,看,一遍遍的看,看的同时一边琢磨,一边按照它所教的打代码,即使你搞不清楚那些代码到底是干嘛的,但是起码你应该找找感觉。法式|翻页 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."页][第".$page."页]";
//首页和上页的链接
if( $totalNum>1 && $page>1)
{
$prevPage=$page-1;
$out .= " <a href=$PHP_SELF?page=1>[首页]</a>";
$out .= " <a href=$PHP_SELF?page=$prevPage >[上页]</a>";
}
//下页和末页的链接
if( $page>=1 && $page<$maxPage)
{
$nextPage= $page+1;
$out .= " <a href=$PHP_SELF?page=$nextPage >[下页]</a>";
$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>第 ";
$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><<";
//for($t=1;$t<=$maxPage;$t++)
for($t=$start;$t<=$end;$t++)
{
$out .= ($page==$t) ? "<font color='red'><b>".$t."</b></font>" : "<a href='?page=$t'>$t</a>";
}
if($page<>$maxPage)
$out .= ">><a href='?page=$maxPage' alt='末页'>$maxPage</a>";
$out .= " 页</div>";
echo $out;
}
break;
//select下拉框直接跳转
case "3":
{
$out = "<div align=center>";
$out .= "第 <select onchange=\"location='?page='+this.options.value\">";
for($i=1; $i<=$maxPage; $i++) {
$out .= "<option value='$i'".(($i==$page) ? ' selected' : '').">$i</option>";
}
$out .= "</select> 页";
$out .= "</div>";
echo $out;
}
break;
default:
echo "";
break;
}
?>
</body>
</html>
可以说你的马步已经扎的差不多了,接下来就要开始练把势的时候了,如果有条件的话,用笔或者打印一个简易的PHP手册在身上,时不时的摸出来看看,记得,去WC也不能放过(^2^)。 你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。 有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。 曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线\\\\\\\'_\\\\\\\' ; php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。 其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎 个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。 我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。 有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。 首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。 当然这种网站的会员费就几十块钱。 如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域, 当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标, 这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己 环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。 有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。 微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox支持的不是很好,所以能少用还是少用的好。 建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。 不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。 我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
页:
[1]