<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-71  評論-4  文章-0  trackbacks-0

    實現論壇樹型結構的算法很多,這里是一個不用遞歸實現樹型結構的算法,原文來自網站《動態(tài)網站制作批南》http://www.knowsky.com/。站長整理。

    這是運行示意圖:


    1、演示表的結構: 

        表名:mybbslist 
        字段     數據類型  說明 
        BBSID    自動編號   
        RootID    Int     根帖ID,本身為根帖則RootID = BBSID 
        FID     Int     父帖ID,上一層帖子的ID,如是根帖則FID = 0 
        DEPTH    Int     根帖Level=0,其他依據回復的深度遞增 
        BBSSubject  Char    主題 


    2。創(chuàng)建表(可根據此表的結構在ACCESS中創(chuàng)建表): 


    create table mybbslist ( 
      forumID int(20) not null, 
      bbsID int auto_increment primary key, 
      rootid int(20) not null, 
      fid int(20) not null, 
      depth int(20) not null, 
      userID int(20) not null, 
      bbsUser varchar(24) not null, 
      bbsSubject varchar(100) not null, 
      bbsContent text, 
      bbsTime varchar(30), 
      bbsRead int(20), 
      bbsReply int(20), 
    INDEX forumID (forumID))  



    3、演示論壇樹型結構的JSP程序,注意此程序只對一個根貼進行了演示(數據庫用ACCESS)

    <%@ page contentType="text/html;charset=gb2312" %> 
    <%@ page import="java.io.*" %> 
    <%@ page import="java.sql.*" %> 
    <% 
     String driverName = "sun.jdbc.odbc.JdbcOdbcDriver"; 
     String connURL= "jdbc:odbc:cwb"; 
     Connection conn = null; 
     Statement stmt = null; 

    int intRowCount; 
    out.print("顯示論壇樹形結構"); 
    out.print("<br><br>"); 
    try { 
         Class.forName(driverName); 
         conn = DriverManager.getConnection(connURL); 
         stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
         String sql="select * from mybbslist order by rootid desc,depth,fid,bbsid"; 
         ResultSet rs = stmt.executeQuery(sql); 
         if (rs.next()){ 
                     rs.last(); 
                     intRowCount=rs.getRow(); 
                     out.print("論壇樹中有"); 
                     out.print(intRowCount); 
                     out.print("個葉子節(jié)點"); 
                     rs.first(); 
                     int j=0; 
                     int Depth = 0; 
                     out.print("<ul>"); 
                     while(j<intRowCount){ 
                           int rsDepth=rs.getInt("depth"); 
                           if (rsDepth>Depth){ 
                                          out.print("<ul>"); 
                            } 
                            out.print("<li>"); 
                            String bbssubject=rs.getString("bbsSubject"); 
                            out.print(bbssubject); 
                            out.print("</li>"); 
                            Depth=rsDepth;
                            j=j+1; 
                            rs.next(); 
                     } 
                     for(int i=0;i<Depth+1;i=i+1) { 
                        out.print("</ul>"); 
                     } 
        }else{ 
                out.print("數據庫中無記錄"); 
        } 
    }catch (SQLException E) { 
          out.println("SQLException: " + E.getMessage()); 
          out.println("SQLState: " + E.getSQLState()); 
          out.println("VendorError: " + E.getErrorCode()); 

    %> 
    <% //關閉mysql連接 
    try { 
          if(conn!=null)  conn.close(); 
    } catch (Exception ex) { 
          System.err.println("closeConn: " + ex.getMessage()); 

    %> 

    posted on 2006-01-12 12:56 zjw_albert 閱讀(110) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網站導航:
     
    主站蜘蛛池模板: 自拍偷自拍亚洲精品被多人伦好爽| 曰批全过程免费视频在线观看无码 | 国产高潮流白浆喷水免费A片 | 亚洲精品国产av成拍色拍| 亚洲国产区男人本色在线观看| 亚洲国产精品成人综合色在线婷婷| 99亚洲精品高清一二区| 亚洲a一级免费视频| 亚洲视频在线观看免费| 亚洲一区二区成人| 亚洲福利一区二区三区| 亚洲午夜一区二区电影院| 亚洲人成黄网在线观看| 香蕉大伊亚洲人在线观看| 亚洲第一第二第三第四第五第六| 亚洲大码熟女在线观看| 成人在线免费视频| 国产免费无码一区二区 | 亚洲男人天堂2022| 亚洲日产乱码一二三区别| MM1313亚洲精品无码久久| 美女被吸屁股免费网站| 国产精品1024在线永久免费| a级特黄毛片免费观看| 99精品免费视品| 91香蕉在线观看免费高清| 皇色在线视频免费网站| 女人18毛片水真多免费播放| 国产小视频在线免费| 久久亚洲精品无码观看不卡| 亚洲区小说区激情区图片区 | 国产女高清在线看免费观看| 亚洲av无码成人精品区在线播放 | 国产精品久久免费视频| 亚洲国产婷婷综合在线精品 | 免费日本黄色网址| 亚洲精品V欧洲精品V日韩精品| 亚洲第一福利网站| 亚洲中文字幕无码久久| 日韩精品无码永久免费网站| 久久精品国产影库免费看|