仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1878|回复: 19
打印 上一主题 下一主题

[学习教程] PHP网页编程之求php的mssql翻页法式!

[复制链接]
因胸联盟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:27:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
即使你理解不了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[this.selectedIndex].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^)。
若天明 该用户已被删除
沙发
发表于 2015-2-4 13:10:01 | 只看该作者
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
admin 该用户已被删除
板凳
发表于 2015-2-9 23:05:11 | 只看该作者
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
变相怪杰 该用户已被删除
地板
发表于 2015-2-22 20:15:01 | 只看该作者
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线  \\\\\\\'_\\\\\\\' ;
飘飘悠悠 该用户已被删除
5#
发表于 2015-3-2 15:43:32 | 只看该作者
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
乐观 该用户已被删除
6#
发表于 2015-3-6 23:43:12 | 只看该作者
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
再现理想 该用户已被删除
7#
发表于 2015-3-20 20:50:19 | 只看该作者
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
简单生活 该用户已被删除
8#
发表于 2015-3-28 21:13:21 | 只看该作者
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
因胸联盟 该用户已被删除
9#
 楼主| 发表于 2015-4-3 22:43:11 | 只看该作者
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
兰色精灵 该用户已被删除
10#
发表于 2015-4-6 23:11:39 | 只看该作者
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
山那边是海 该用户已被删除
11#
发表于 2015-6-4 17:04:27 | 只看该作者
当然这种网站的会员费就几十块钱。
海妖 该用户已被删除
12#
发表于 2015-6-11 20:00:00 | 只看该作者
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
深爱那片海 该用户已被删除
13#
发表于 2015-6-19 20:51:51 | 只看该作者
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
飘灵儿 该用户已被删除
14#
发表于 2015-6-23 20:28:51 | 只看该作者
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
小妖女 该用户已被删除
15#
发表于 2015-7-3 02:12:14 | 只看该作者
环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。
16#
发表于 2015-7-4 01:07:45 | 只看该作者
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
活着的死人 该用户已被删除
17#
发表于 2015-7-4 22:40:25 | 只看该作者
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
金色的骷髅 该用户已被删除
18#
发表于 2015-7-7 01:20:18 | 只看该作者
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
莫相离 该用户已被删除
19#
发表于 2015-7-13 23:46:48 | 只看该作者
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
灵魂腐蚀 该用户已被删除
20#
发表于 2015-7-20 00:23:09 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-7 02:02

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表