如何实现论坛树型结构的具体算法

冬天是个美丽的季节,美丽的似血杜鹃鲜红艳丽的茶花不怕严寒大雪的梅花还有名贵的牡丹花,这些漂亮的花引人入胜,让人们驱走了寒气。
实现论坛树型结构的算法很多,具体你可以去www.chinaasp.com的全文搜索中查询。我现在的JSP论坛采用的也是当中的一种:不用递归实现树型结构的算法,现在我将论坛树型结构的具体算法和大家介绍一下,和大家一起交流。1。演示表的结构:表名:mybbslist字段数据类型说明BBSID自动编号RootIDInt根帖ID,本身为根帖则RootID=IDFIDInt父帖ID,上一层帖子的ID,如是根帖则FID=0DEPTHInt根帖Level=0,其他依据回复的深度递增BBSSubjectChar主题2。创建表:createtablemybbslist(forumIDint(20)notnull,bbsIDintauto_incrementprimarykey,rootidint(20)notnull,fidint(20)notnull,depthint(20)notnull,userIDint(20)notnull,bbsUservarchar(24)notnull,bbsSubjectvarchar(100)notnull,bbsContenttext,bbsTimevarchar(30),bbsReadint(20),bbsReplyint(20),INDEXforumID(forumID))3。连接MYSQL数据库的BEANpackagenetzero;importjava.sql.*;publicclassmydb{StringdriverName="org.gjt.mm.mysql.Driver";Connectionconn=null;Statementstmt=null;ResultSetrs=null;StringconnURL="jdbc:mysql://localhost/mybbs?user=root&password=how&useUnicode=true&characterEncode=8859_1";//StringconnURL="jdbc:mysql://localhost/netzerobbs?user=root&password=how";publicmydb(){try{Class.forName(driverName);}catch(java.lang.ClassNotFoundExceptione){System.err.println("netzero(String):"+e.getMessage());}}publicResultSetexecuteQuery(Stringsql)throwsSQLException{conn=DriverManager.getConnection(connURL);stmt=conn.createStatement();rs=stmt.executeQuery(sql);returnrs;}publicbooleancloseConn(){try{if(rs!=null)rs.close();if(stmt!=null)stmt.close();if(conn!=null)conn.close();returntrue;}catch(SQLExceptionex){System.err.println("closeConn:"+ex.getMessage());returnfalse;}}}4。显示论坛的JSP程序<jsp:useBeanid="mybbs"scope="session"class="netzero.mydb"/><%@pagecontentType="text/html;charset=gb2312"%><%@pageimport="java.io.*"%><%@pageimport="java.sql.*"%><%intintRowCount;out.print("显示论坛树形结构");out.print("<br><br>");try{Stringsql="select*frommybbslistorderbyrootiddesc,depth,fid,bbsid";ResultSetrs=mybbs.executeQuery(sql);if(rs.next()){rs.last();intRowCount=rs.getRow();out.print("论坛树中有");out.print(intRowCount);out.print("个叶子节点");rs.first();intj=0;intDepth=0;out.print("<ul>");while(j<intRowCount){intrsDepth=rs.getInt("Depth");if(rsDepth<Depth){for(inti=1;i<Depth+1;i=i+1){out.print("</ul>");}}rsDepth=rs.getInt("Depth");if(rsDepth>Depth){out.print("<ul>");}out.print("<li>");Stringbbssubject=rs.getString("bbssubject");out.print(bbssubject);out.print("</li>");Depth=rs.getInt("Depth");j=j+1;rs.next();}out.print("</ul>");}else{out.print("数据库中无记录");}}catch(SQLExceptionE){out.println("SQLException:"+E.getMessage());out.println("SQLState:"+E.getSQLState());out.println("VendorError:"+E.getErrorCode());}%><%//关闭mysql连接try{if(!mybbs.closeConn());}catch(Exceptionex){System.err.println("closeConn:"+ex.getMessage());}%>算法参考:http://www.chinaasp.com/sqlbbs/showEssence.asp?id=4783

以上就是如何实现论坛树型结构的具体算法。真正能让你倒下的,不是对手,而是你绝望的内心。更多关于如何实现论坛树型结构的具体算法请关注haodaima.com其它相关文章!

标签: 树型