<?
/*存放贴子的表结构------------------------------------------------------
代码如下 | 复制代码 |
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> "; 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] . " "; //如果回复贴数不为空,则表示有儿子贴,继续显示儿子贴 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; //开始构建分页显示------------------------------------------------------ if($currentpage!=""){ $pagesize=10;//每页显示的首发贴数! $info=" 共有" . $i . "条纪录,分" . ceil($totalpage) . "页,当前为第" . ($page+1) . "/" . ceil($totalpage) . "页 if($page>0) $pagestr="<a href=bbsrow.php4?currentpage=" . ($page-1) . ">上一页</a>"; for($i=0;$i<$totalpage;$i++){ $pagestr=$pagestr . "页]"; if($page<$totalpage-1) $pagestr=$pagestr . "<a href=bbsrow.php4?currentpage=" . ($page+1) .">下一页</a><p> "; echo $pagestr; |
//----------------------------------------------------------------------
//开始分级显示----------------------------------------------------------
代码如下 | 复制代码 |
echo "<ul> "; for($i=$start;$i<$end;$i++){ echo "<li> "; echo $mainrow[$i][0]; echo $mainrow[$i][1]; echo $mainrow[$i][2]; echo $mainrow[$i][3]; echo $mainrow[$i][4] . " "; //如果回复贴数不为空,则表示有儿子贴,继续显示儿子贴 if($mainrow[$i][4]!=''){ showchildren($mainrow[$i][0]); } } echo "</ul> "; |
//----------------------------------------------------------------------?>