• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

        另一種bbs設(shè)計(jì)的思路,請各位高手給予評價(jià)。

        另一種bbs設(shè)計(jì)的思路,請各位高手給予評價(jià)。

        更新時(shí)間:2022-05-08 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

        最近一段時(shí)間研究了一下bbs方面的一些程序,也拜讀了本站bbs的源程序,自己覺得受益匪淺,
        很多程序都堪稱典范。在主要的論壇貼子處理方面,很多的論壇也都模仿此作。因?yàn)槲也幌肟偰脛e
        人的東西照抄,所以自己用了另一種處理方法來做的。至于方法如何還請大家評斷。(我當(dāng)然覺得
        自己的好了 8-))
        1。貼子的排序
        數(shù)據(jù)庫 Id,SortId,Title,Uname,Stime,BackTimes,ReadTimes,Face,Content
        1 999999 .........................................
        2 999998 .........................................
        3 999997 .........................................
         id為自動編號,也即顯示的貼子號
        引入一個(gè)SortId,50位字符型,
        設(shè)根貼子為六位(如999999,你也可以更多,我想已經(jīng)夠了)
        設(shè)第一貼為999999 第二貼為999998 第三貼為999997 .............
        (注意這都是根貼,是六位長)

        為什么第一貼為999999,是為了以后便于輸出貼子。
        要在999999下面回復(fù)一貼即第二層貼子就在數(shù)據(jù)庫中寫入
         Id,SortId,Title,Uname,Stime,BackTimes,ReadTimes,Face,Content
        4 999999z .........................................
        在999999后面加了一個(gè)“z” (增加一位可以用來區(qū)分貼子所在層數(shù))
        要在999999下面再回復(fù)一貼也即第二層的貼子就在數(shù)據(jù)庫中寫入
         Id,SortId,Title,Uname,Stime,BackTimes,ReadTimes,Face,Content
        5 999999y .........................................
        要在發(fā)貼,依此類推
        Id,SortId,Title,Uname,Stime,BackTimes,ReadTimes,Face,Content
        6 999999x .........................................
        要在第二層貼子下面再回復(fù)貼子 如貼子999999z下 即第三層貼子就在數(shù)據(jù)庫中寫入
        Id,SortId,Title,Uname,Stime,BackTimes,ReadTimes,Face,Content
        7 999999zz .........................................

        再回復(fù)999999z貼子就在數(shù)據(jù)庫中寫入
        Id,SortId,Title,Uname,Stime,BackTimes,ReadTimes,Face,Content
        8 999999zy .........................................

        現(xiàn)在的貼子情況即為:
        Id,SortId,Title,Uname,Stime,BackTimes,ReadTimes,Face,Content
        1 999999 .........................................
        2 999998 .........................................
        3 999997 .........................................
        4 999999z .........................................
        5 999999y .........................................
        6 999999x .........................................
        7 999999zz .........................................
        8 999999zy .........................................

        我向大家也看出了我的思路至于輸出的時(shí)候使用
         sql = "select * from [plan] where boardid="+ strboardid+" ORDER BY SortId ";
         rs = conn.executeQuery(sql);

        根據(jù)SortId排序后的結(jié)果:
        1 999997 .........................................
        2 999998 .........................................
        3 999999 .........................................
        4 999999x .........................................
        5 999999y .........................................
        6 999999z .........................................
        7 999999zy .........................................
        8 999999zz .........................................

        現(xiàn)在大家應(yīng)該明白為什么前六位貼子號和字母是遞減的了.(當(dāng)然也能是遞增的)

        2.貼子的顯示輸出,主要是處理<UL></UL>.程序如下
        /*
        取得數(shù)據(jù)集rs
        */
        String Id,SortId,Title,Uname,Stime,BackTimes,ReadTimes,Face,Content; 
        int length=6,ContentLength;//初始化第一貼為根貼
        boolean isnew=false;
        out.println("<UL>");
         while (rs.next()) {
        Id=rs.getString("Id");
         SortId=rs.getString("SortId");
        Title=china.asHTML(rs.getString("Title")); 
         Uname=china.asHTML(rs.getString("Uname")); 
        Stime=china.asHTML(rs.getString("Stime").substring(0,19));
        //if (System.currentTimeMillis() - rs.getDate("Stime").getTime()< 86400000){isnew =true;} else {isnew =false;}
         BackTimes=rs.getString("BackTimes");
        ReadTimes=rs.getString("ReadTimes");
        Face=rs.getString("Face");
        ContentLength = rs.getString("Content").length();
        String dot = ",";
        String yh = "\"";
        //控制部分
        if(length>SortId.length())//用來計(jì)算上貼到本貼需要輸出多少個(gè)</UL>
        while(length>SortId.length())
        { length--;
        out.println("</UL>");
        }

        //舉例 從3到4
        //<ul>1 .......................SortId=6
        //<ul>2 .......................SortId=7
        //<ul>3.......................SortId=8
        //</ul>//此標(biāo)記是由if(BackTimes.equals("0"))out.println("</UL>");輸出的
        //</ul>
        //</ul>//此標(biāo)記和上一個(gè)</UL>是由if(length>SortId.length())......這一部分生成的
        //<ul>4........................SortId=6</ul>
        //
        //if (8>6)//條件成立進(jìn)入循環(huán)
        //while(8>6)//開始循環(huán)輸出兩個(gè)</UL>


        out.println("<UL>");//因?yàn)槿魏我毁N前都有<UL>
        out.println(china.turnGb("<SCRIPT>o("+yh+Title+yh+dot+yh+Uname+yh+dot+yh+Stime+yh+dot+Id+dot+ContentLength+dot+BackTimes+dot+ReadTimes+dot+isnew+dot+Face+");</SCRIPT>"));
        if(BackTimes.equals("0"))out.println("</UL>");//因?yàn)槿魏位貜?fù)次數(shù)為0的貼子后都有</UL>
        length=SortId.length();//記錄貼子SortId的長度,用來與下一貼比較

        }//循環(huán)結(jié)束
        while((length-6)!=0)//因?yàn)樽詈笠粭l記錄不能再與下一條比較,所以要補(bǔ)齊最后的</UL>
        { length--;
        out.println("</UL>");
        }
        out.println("</UL>");

        catch(SQLException ex) {out.println(ex.getMessage());}
        3。發(fā)貼子
        發(fā)根貼按SortId升序排序取第一條減一為新貼子的SortId(要轉(zhuǎn)整數(shù))
        回復(fù)貼子根據(jù)回復(fù)次數(shù)0時(shí)為z,1時(shí)為y,.......加到你所要回復(fù)的貼子的SortId后。增加回復(fù)次數(shù)。


        大體上這就是我的做法,上面的例子僅僅為了說明輸出,所以沒有涉及其他問題。如分頁,刪貼子,中文問題等。可能
        其中會有問題,還請大家發(fā)表意見,給予我提示。wflm@263.net

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統(tǒng)下載排行

        主站蜘蛛池模板: 久久综合给合久久国产免费| 国产午夜亚洲精品不卡免下载 | 久久大香伊焦在人线免费| 亚洲精品老司机在线观看| 麻豆亚洲AV成人无码久久精品| 欧洲精品成人免费视频在线观看| 亚洲国产成人精品无码一区二区 | 99在线视频免费观看视频| 亚洲国产精品lv| 久久精品一本到99热免费| 97se亚洲综合在线| 亚洲成年人免费网站| 亚洲三级中文字幕| 免费看少妇作爱视频| 亚洲AV无码资源在线观看| 亚洲AV无码乱码在线观看| sss日本免费完整版在线观看| 中文字幕中韩乱码亚洲大片| 十八禁在线观看视频播放免费| 亚洲va在线va天堂va888www| 日本最新免费网站| 亚洲av无码片vr一区二区三区| 一区二区三区亚洲视频| 亚洲色图激情文学| 日本免费人成黄页在线观看视频| 免费的黄色网页在线免费观看| 亚洲日韩精品一区二区三区无码 | 亚洲日本在线观看视频| 在线免费视频你懂的| 亚洲图片在线观看| 在线观看免费成人| 一级毛片免费观看不收费| 亚洲色欲色欲综合网站| 午夜色a大片在线观看免费| 亚洲精品视频免费| 亚洲另类古典武侠| 亚洲情a成黄在线观看| 51在线视频免费观看视频| 天天综合亚洲色在线精品| 亚洲午夜久久影院| 又黄又爽的视频免费看|