<?
/*存放贴子的表结构------------------------------------------------------
create table bbsrow(
bbsrow_id int(6) not null auto_increment, //贴子id号
bbsrow_auth varchar(20) not null, //贴子作者
bbsrow_parentid int(6), //贴子的父亲贴子id号,如为首发贴则为空
bbsrow_title varchar(200) not null, //贴子标题
bbsrow_returncount int(3), //贴子的回复贴数,如果没有回贴则为空
primary key (bbsrow_id)
);
-----------------------------------------------------------------------------*/
//显示儿子贴的递归函数--------------------------------------------------
function showchildren($parent_id){
global $connect_id;
$query="select * from bbsrow where bbsrow_parentid='" . $parent_id . "'";
$result_top=mysql_query($query,$connect_id);
echo "<ul>\n";
while($myrow_child=mysql_fetch_row($result_top)){
echo "<li>";
echo $myrow_child[0];
echo $myrow_child[1];
echo $myrow_child[2];
echo $myrow_child[3];
echo $myrow_child[4] . "\n";
//如果回复贴数不为空,则表示有儿子贴,继续显示儿子贴
if($myrow_child[4]!=''){
showchildren($myrow_child[0]);
}
}
echo "</ul>";
}
//----------------------------------------------------------------------
//连接数据库并将所有首发贴放到$mainrow数组里----------------------------
$connect_id=mysql_connect("localhost","test","test") or die("无法连接数据库");
mysql_select_db("bbs") or die("无法选择数据库");
$query="select * from bbsrow where bbsrow_parentid=''";
$result=mysql_query($query,$connect_id);
$i=0;
while($myrow=mysql_fetch_row($result)) {
$mainrow[$i][0]=$myrow[0];
$mainrow[$i][1]=$myrow[1];
$mainrow[$i][2]=$myrow[2];
$mainrow[$i][3]=$myrow[3];
$mainrow[$i][4]=$myrow[4];
$i++;
}
mysql_free_result($result);
//----------------------------------------------------------------------
//开始构建分页显示------------------------------------------------------
if($currentpage!=""){
$page=$currentpage;
}
else{
$page=0;
}
$pagesize=10;//每页显示的首发贴数!
$start=$page*$pagesize;
$end=$start+$pagesize;
if($end>$i) $end=$i;
$totalpage=$i/$pagesize;
$info=" 共有" . $i . "条纪录,分" . ceil($totalpage) . "页,当前为第" . ($page+1) . "/" . ceil($totalpage) . "页 <br>\n";
echo $info;
if($page>0) $pagestr="<a href=bbsrow.php4?currentpage=" . ($page-1) . ">上一页</a>";
$pagestr=$pagestr . " [第 ";
for($i=0;$i<$totalpage;$i++){
if($i!=$page){
$pagestr=$pagestr . " <a href=bbsrow.php4?currentpage=" . $i . ">" . ($i+1) . "</a> ";
}
else{
$pagestr=$pagestr . " " . ($i+1) . " ";
}
}
$pagestr=$pagestr . "页]";
if($page<$totalpage-1) $pagestr=$pagestr . "<a href=bbsrow.php4?currentpage=" . ($page+1) .">下一页</a><p>\n";
echo $pagestr;
//----------------------------------------------------------------------
//开始分级显示----------------------------------------------------------
echo "<ul>\n";
for($i=$start;$i<$end;$i++){
echo "<li>\n";
echo $mainrow[$i][0];
echo $mainrow[$i][1];
echo $mainrow[$i][2];
echo $mainrow[$i][3];
echo $mainrow[$i][4] . "\n";
//如果回复贴数不为空,则表示有儿子贴,继续显示儿子贴
if($mainrow[$i][4]!=''){
showchildren($mainrow[$i][0]);
}
}
echo "</ul>\n";
//----------------------------------------------------------------------?>
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器