请问新浪网中那个网友评论的分页系统是怎么做的?(高分请教) 主要是我现在在做一个复合查询系统,查询时返回的记录数都已有,想编一个公用函数以后调用,函数里最好不要有那些关于数据库的操作,直接用返回的总记录数作参数就可。请大家帮帮我,我只是一个在学校网络中心搞勤工助学的,做不好可能会被kill掉~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <?php//连接数据库$db=mysql_connect("$mysqlhost","$mysqluser","$mysqlpsw");mysql_select_db("$mysqldb",$db);//初始化数据库定义//设定每一页显示的记录数$pagesize=8;//取得记录总数,计算总页数用$res=mysql_query("select count(*) from gbook " ,$db);$myrow = mysql_fetch_array($res);$numrows=$myrow[0];//计算总页数$pages=intval($numrows/$pagesize);if ($numrows%$pagesize)$pages++;//判断页数设置与否,如无则定义为首页if (!isset($page))$page=1;//判断转到页数if (isset($ys))if ($ys>$pages)$page=$pages;else$page=$ys;//计算记录偏移量$offset=$pagesize*($page-1);//取记录$res=mysql_query("select * from gbook order by id desc limit $offset,$pagesize" ,$db);//循环显示记录if ($myrow = mysql_fetch_array($res)){$i=0;?><div align="center"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="58" background="image/left.gif"> </td> <td width="522"> <div align="left"><?echo "<div align='center'><br>总共有<b>$numrows</b>条留言,每页显示<b>8</b>条留言,共有<b>$pages</b>页,当前页第<b>$page</b>页:";$first=1;$prev=$page-1;$next=$page+1;$last=$pages;if ($page>1){echo "<a href='index.php?page=".$first."'>首页</a> ";echo "<a href='index.php?page=".$prev."'>上一页</a> ";}if ($page<$pages){echo "<a href='index.php?page=".$next."'>下一页</a> ";echo "<a href='index.php?page=".$last."'>尾页</a></div> ";}echo "<hr style=\"border: 1 solid #0099FF\" color=\"#0099FF\"></div>";?><?do {$i++;?> <table width="500" height="80" style=TABLE-LAYOUT:fixed bordercolor="#333333" cellspacing="0" cellpadding="0"> <tr> <? if($tfgbook){ echo "<td height=\"12\" width=\"80\" style=\"BORDER-BOTTOM: 0px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 0px solid; BORDER-TOP: 1px solid;\"><div align=center><a href=\"gbookdelet.php?bookid=$myrow[0]\">删除</a></div>"; }else{ echo "<td height=\"12\" width=\"80\" style=\"BORDER-BOTTOM: 0px solid; BORDER-LEFT: 0px solid; BORDER-RIGHT: 0px solid; BORDER-TOP: 0px solid;\">"; } ?> </td> <td height="12" width="180" style="BORDER-BOTTOM: 0px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid;"> E-mail:<a href="mailto:<? echo $myrow[2];?>"><? echo $myrow[2];?></a></td> <td height="12" width="240" style="BORDER-BOTTOM: 0px solid; BORDER-LEFT: 0px solid; BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid;"> Homepage:<a href="<? echo $myrow[5];?>" target=_blank><? echo $myrow[5];?></a></td> </tr> <tr> <td width="80" style="BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 0px solid; BORDER-TOP: 1px solid;"><div align="center"><table width="55" border="0" cellspacing="0" cellpadding="0" height="36" background="image/name_bk.gif" style=TABLE-LAYOUT:fixed> <tr> <td style=FILTER:glow(color=007CD0)><div align="center"><font color=FFFFFF><? echo $myrow[1];?></div></font></td> </tr></table></div></td> <td colspan="2" style="BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid;" ><img src=image/<? echo $myrow[7];?>.gif><? echo $myrow[3];?></td> </tr> <tr> <td height="12" width="80" style="BORDER-BOTTOM: 0px solid; BORDER-LEFT: 0px solid; BORDER-RIGHT: 0px solid; BORDER-TOP: 0px solid;"> </td> <td height="12" width="180" style="BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 0px solid; BORDER-TOP: 0px solid;"> Data:<? echo $myrow[4];?></td> <td height="12" width="240" style="BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; BORDER-TOP: 0px solid;"> From:<? echo $myrow[6];?></td> </tr></table><br><?}while ($myrow = mysql_fetch_array($res));echo "</table>" ;}/*//显示总页数echo "<div align='center'>共有".$pages."页(".$page."/".$pages.")<br>";//显示分页数for ($i=1;$i<$page;$i++)echo "<a href='index.php?page=".$i."'>第".$i ."页</a> ";echo "第".$page."页 ";for ($i=$page+1;$i<=$pages;$i++)echo "<a href='index.php?page=".$i."'>第".$i ."页</a> ";echo "<br>";*///显示转到页数echo "<form action='index.php' method='post'> ";//计算首页、上一页、下一页、尾页的页数值$first=1;$prev=$page-1;$next=$page+1;$last=$pages;if ($page>1){echo "<a href='index.php?page=".$first."'>首页</a> ";echo "<a href='index.php?page=".$prev."'>上一页</a> ";}if ($page<$pages){echo "<a href='index.php?page=".$next."'>下一页</a> ";echo "<a href='index.php?page=".$last."'>尾页</a> ";}echo "转到<input type=text name='ys' size='2' value=".$page." style=\"color: #333333;BACKGROUND-COLOR: rgb(255,255,255); BORDER-BOTTOM: 1px solid; BORDER-LEFT: 0px solid; BORDER-RIGHT: 0px solid; BORDER-TOP: 0px solid; COLOR: #000000;FONT-SIZE: 12pt;\">页";echo "<input type=submit name='Submit' value='Go'>";echo "</form>";echo "</div>";?> 请你们先去 http://comment.sina.com.cn/cgi-bin/comment/comment.cgi?channel=ty&newsid=72-7-10569&style=1&page=13 此连接去看看去看一下,我们头要我必须做成那样的,函数或类里最好不要有数据库操作。 你要基于文件的啊这样倒是可以节省服务器的工作时间,不过那需要很多文件的其实你把我给你的原程序里面的转到的那个输入框都替换成你的数字1,2,3,4,5....然后给每个数字加一个动态的连接 a href='index.php?page=".$i."就行了基于文件的我没有做过不过我可以给一些建议的。你去www.php.netwww.phpbuilder.comwww.php2000.com找找吧,可能有原代码 急,在php里长文章内容如何按行分页 列表框的change事件,如可用PHP处理 Discuz 5 显示空白页 请教一个类似是权限的问题 问一个关于数据库查询的问题 用php如何在mySQL数据库的表中添加一个字段? 新手简单问题 颜色转换 apache2+php4.2中文网页怎么会显示乱码的? 谁有session 写的购物篮程序,给我一份吧。我送100分! 急问一个问题 页面变量传递的问题
$first=1;$prev=$page-1;$next=$page+1;$last=$pages;if ($page>1){echo "<a href='index.php?page=".$first."'>首页</a> ";echo "<a href='index.php?page=".$prev."'>上一页</a> ";}if ($page<$pages){echo "<a href='index.php?page=".$next."'>下一页</a> ";echo "<a href='index.php?page=".$last."'>尾页</a></div> ";}echo "<hr style=\"border: 1 solid #0099FF\" color=\"#0099FF\"></div>";?><?do {$i++;?> <table width="500" height="80" style=TABLE-LAYOUT:fixed bordercolor="#333333" cellspacing="0" cellpadding="0">
<tr>
<?
if($tfgbook){
echo "<td height=\"12\" width=\"80\" style=\"BORDER-BOTTOM: 0px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 0px solid; BORDER-TOP: 1px solid;\"><div align=center><a href=\"gbookdelet.php?bookid=$myrow[0]\">删除</a></div>";
}else{
echo "<td height=\"12\" width=\"80\" style=\"BORDER-BOTTOM: 0px solid; BORDER-LEFT: 0px solid; BORDER-RIGHT: 0px solid; BORDER-TOP: 0px solid;\">";
}
?>
</td> <td height="12" width="180" style="BORDER-BOTTOM: 0px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid;"> E-mail:<a href="mailto:<? echo $myrow[2];?>"><? echo $myrow[2];?></a></td> <td height="12" width="240" style="BORDER-BOTTOM: 0px solid; BORDER-LEFT: 0px solid; BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid;"> Homepage:<a href="<? echo $myrow[5];?>" target=_blank><? echo $myrow[5];?></a></td> </tr> <tr> <td width="80" style="BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 0px solid; BORDER-TOP: 1px solid;"><div align="center"><table width="55" border="0" cellspacing="0" cellpadding="0" height="36" background="image/name_bk.gif" style=TABLE-LAYOUT:fixed> <tr> <td style=FILTER:glow(color=007CD0)><div align="center"><font color=FFFFFF><? echo $myrow[1];?></div></font></td> </tr></table></div></td> <td colspan="2" style="BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid;" ><img src=image/<? echo $myrow[7];?>.gif><? echo $myrow[3];?></td> </tr> <tr> <td height="12" width="80" style="BORDER-BOTTOM: 0px solid; BORDER-LEFT: 0px solid; BORDER-RIGHT: 0px solid; BORDER-TOP: 0px solid;"> </td> <td height="12" width="180" style="BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 0px solid; BORDER-TOP: 0px solid;"> Data:<? echo $myrow[4];?></td> <td height="12" width="240" style="BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; BORDER-TOP: 0px solid;"> From:<? echo $myrow[6];?></td> </tr></table><br><?}while ($myrow = mysql_fetch_array($res));echo "</table>" ;}
/*
//显示总页数echo "<div align='center'>共有".$pages."页(".$page."/".$pages.")<br>";//显示分页数for ($i=1;$i<$page;$i++)echo "<a href='index.php?page=".$i."'>第".$i ."页</a> ";echo "第".$page."页 ";for ($i=$page+1;$i<=$pages;$i++)echo "<a href='index.php?page=".$i."'>第".$i ."页</a> ";echo "<br>";
*/
//显示转到页数echo "<form action='index.php' method='post'> ";//计算首页、上一页、下一页、尾页的页数值$first=1;$prev=$page-1;$next=$page+1;$last=$pages;if ($page>1){echo "<a href='index.php?page=".$first."'>首页</a> ";echo "<a href='index.php?page=".$prev."'>上一页</a> ";}if ($page<$pages){echo "<a href='index.php?page=".$next."'>下一页</a> ";echo "<a href='index.php?page=".$last."'>尾页</a> ";}echo "转到<input type=text name='ys' size='2' value=".$page." style=\"color: #333333;BACKGROUND-COLOR: rgb(255,255,255); BORDER-BOTTOM: 1px solid; BORDER-LEFT: 0px solid; BORDER-RIGHT: 0px solid; BORDER-TOP: 0px solid; COLOR: #000000;FONT-SIZE: 12pt;\">页";echo "<input type=submit name='Submit' value='Go'>";echo "</form>";echo "</div>";?>
去看一下,我们头要我必须做成那样的,函数或类里最好不要有数据库操作。
这样倒是可以节省服务器的工作时间,不过那需要很多文件的
其实你把我给你的原程序里面的转到的那个输入框都替换成你的数字1,2,3,4,5....然后给每个数字加一个动态的连接 a href='index.php?page=".$i."就行了
基于文件的我没有做过
不过我可以给一些建议的。你去www.php.net
www.phpbuilder.com
www.php2000.com找找吧,可能有原代码