在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

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

論壇樹狀記錄表的堆棧展開

論壇樹狀記錄表的堆棧展開

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

由于工作原因,涉及到一個樹狀存放記錄的表,要求程序中把樹狀表全部展開,并輸出相應(yīng)的數(shù)據(jù)內(nèi)容。由于涉及到此種操作的地方很多,比如網(wǎng)絡(luò)上的\\\"論壇"就是典型的采用樹狀存放記錄的表,特此整理出來與大家分享。
     在很多資料都有介紹展開樹狀記錄的程序,但是很多是采用遞歸的方法。我們知道,遞歸的方法邏輯比較簡單,實際操作起來比較容易。但是遞歸有一個最大的缺點就是占用資源太多,速度太慢。如果在互聯(lián)網(wǎng)的"論壇"上采用此種方法,在表記錄很多的情況下將是一個非常嚴重的問題。下面的程序在筆者的工作中解決了一個大問題并將應(yīng)用于本人小站(yuking.126.com)的論壇。
     我這里采用速度非?斓亩褩韺崿F(xiàn)這種操作,但是操作起來相對而言難度加大。我們就以論壇記錄表為例講解這一過程,首先了解一下表結(jié)構(gòu):

一、表結(jié)構(gòu)(article)
     self       int    '本記錄ID號
     father     int    '父記錄ID號
     title      char   '貼子標題
     author     char   '貼子作者
     datetime   date   '發(fā)貼日期時間
     hits       int    '點擊數(shù)
     reply      int    '回復數(shù)
      .....            '根據(jù)具體的情況我們還可以有更多的字段
     1)關(guān)鍵說明:self是記錄本記錄的ID號,這應(yīng)該是一個自動增長的字段,不充許重復。father是記錄本結(jié)點的父結(jié)點ID號的字段,若該記錄內(nèi)容為"回貼"此字段值應(yīng)該為"主貼"的ID號。若該記錄為"主貼"則它的父結(jié)點應(yīng)該為"0"
     2)如下兩條記錄是父子記錄:
      self   father     title                       author       .....
            1       0        '誰能幫幫我'               '三腳貓'
            2       1        '我能幫你什么忙嗎?'       '網(wǎng)上飛'
        
二、操作方法
      首先,我們讀出所有父結(jié)點為"0"的記錄也就是"主貼",統(tǒng)統(tǒng)放入堆棧中。然后輸出位于棧頂?shù)囊粭l記錄("主貼")數(shù)據(jù),并清空棧頂,棧頂下移一格。接著查找所有父結(jié)點為該棧項結(jié)點("主貼")的記錄("回貼"),也統(tǒng)統(tǒng)放于棧頂。注意到?jīng)]有,就這兩步我們就完成了把一條父記錄輸出并展開其子結(jié)點的工作。余下的工作只是依次類推而已了,直到棧為空為止。
     當然實際操作時可能還會有一些要求,比如要求得到記錄的層數(shù),回復數(shù)等等問題,我們只需稍加改進就能實現(xiàn)。
           
三、這里是整理后的原代碼
<%
set RS=server.CreateObject("ADODB.Recordset")

sql_text="select * from article where father=0 order by datetime desc"
RS.Open sql_text,Bbs_ConnectionString  '查找所有父結(jié)點為'0'的結(jié)點,即"主貼"。

Dim Stack(100,8)   '定義堆棧,我這里是100('8'是指每個棧元素分別存放8個字段值)。'可根據(jù)實際情況定義堆棧大小,可以按這個公式計算"最多層數(shù)*最多展開數(shù)"。
while not Rs.eof
    Stack(0,0)=RS("self")
    Stack(0,1)=RS("father")
    Stack(0,2)=RS("title")
    Stack(0,3)=RS("author")
    Stack(0,4)=RS("datetime")
    Stack(0,5)=RS("hits")
    Stack(0,6)=RS("reply")
    Stack(0,7)=0
        Top=1
        do until Top=0
        Sql_text="select * from article where father="&StackTop&"
        RS1.Open Sql_text,MyConn    '查找所有父結(jié)點為棧頂結(jié)點的記錄
             '輸出棧項元素,我這里是直接輸出,實際做的時候可以產(chǎn)生表格等等效果
        for i=0 to 7     
                 Response.write stack(top-1,i)  
        next

        ParentLevel=stack(top-1,7)      '清空堆棧之前獲得父記錄的層數(shù)
        for i=0 to 7                    '清空堆棧項部
           Stack(top-1,i)=""
        next
        Top=top-1                       '棧頂向下移動一格
             '將查找到的棧項結(jié)點"派生出"的全部子記錄存入堆棧
            While not RS1.eof
                  Stack(Top,0)=RS1("self")
            Stack(Top,1)=RS1("father")
            Stack(Top,2)=RS1("title")
                 Stack(Top,3)=RS1("author")
              Stack(Top,4)=RS1("datetime")
              Stack(Top,5)=RS1("hits")
            Stack(Top,6)=RS1("reply")
                Stack(Top,7)=ParentLevel+1        
                Rs1.movenext
                Top=Top+1  '棧項向上移動
            Wend
        Rs1.close
    loop
    Rs.MoveNext  '移動到下一條記錄
Wend
Rs.close
set Rs=nothing
set Rs1=nothing
%>

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

本類教程下載

系統(tǒng)下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • wwwjizzjizzcom| 亚洲免费一级视频| 成人黄色av片| 国产精品免费观看久久| 五月婷婷狠狠操| 欧美午夜精品理论片| 三级av免费看| 成年人午夜免费视频| 国产精品少妇在线视频| 99国产精品久久久久久| 2021国产视频| 欧美牲交a欧美牲交aⅴ免费下载| 人妻丰满熟妇av无码区app| 欧美在线aaa| 免费人成自慰网站| 亚洲国产精品毛片av不卡在线| 亚洲一级免费在线观看| 9191国产视频| 国产又黄又猛又粗又爽的视频| 婷婷激情综合五月天| www.avtt| 色婷婷激情视频| 成人免费aaa| 一道本在线免费视频| 999一区二区三区| 亚洲一区精品视频在线观看| 欧美深夜福利视频| а 天堂 在线| 国产极品美女高潮无套久久久| 午夜免费看视频| 免费成人在线视频网站| 红桃视频一区二区三区免费| 蜜臀av午夜一区二区三区| 国产树林野战在线播放| 一区二区免费av| 99999精品视频| www.激情网| 欧美激情第四页| 能在线观看的av网站| 日日摸日日碰夜夜爽无码| 国产乱叫456| 污片在线免费看| 欧美私人情侣网站| 国产日韩欧美精品在线观看| 黄色网络在线观看| 国产成年人视频网站| 国产又大又硬又粗| 精品欧美一区免费观看α√| 黄色网络在线观看| 一区二区三区四区毛片| the porn av| 农村妇女精品一二区| 日韩在线视频在线观看| 18禁免费观看网站| 日韩在线综合网| 久久精品国产精品亚洲色婷婷| 69精品丰满人妻无码视频a片| 手机看片一级片| 国产福利影院在线观看| 国产成人无码av在线播放dvd| 国产免费观看高清视频| 欧美精品一区免费| 男人和女人啪啪网站| 自拍日韩亚洲一区在线| 国产69精品久久久久久久| 狠狠97人人婷婷五月| 久久亚洲中文字幕无码| 免费观看日韩毛片| 国产一区二区三区精彩视频 | 无码人妻h动漫| 久久网站免费视频| 亚洲一区在线不卡| 免费在线观看污网站| 最新av网址在线观看| 草b视频在线观看| av动漫免费看| 美女网站视频黄色| 中文字幕第三区| 男人c女人视频| 日韩免费高清在线| 激情图片中文字幕| 日本xxxxxxxxxx75| 久久久久久三级| 毛片av在线播放| 久草在在线视频| 日本不卡一区在线| 99er在线视频| 宅男噜噜噜66国产免费观看| 色婷婷一区二区三区在线观看| 国产免费一区二区三区四在线播放| www污在线观看| 一区二区三区 日韩| 艳母动漫在线免费观看| 缅甸午夜性猛交xxxx| 国产免费又粗又猛又爽| 奇米777四色影视在线看| 成人羞羞国产免费网站| 日本道在线视频| 免费大片在线观看| 国产女主播av| 久热精品在线播放| av在线播放亚洲| 99精品视频网站| 国产黄色特级片| 黄色成人在线免费观看| 日本老熟妇毛茸茸| 欧美又粗又长又爽做受| 国产女同无遮挡互慰高潮91| 精品无码国模私拍视频| 国产四区在线观看| 中国黄色片免费看| 5月婷婷6月丁香| 人人妻人人澡人人爽欧美一区| 黄色片久久久久| 日本wwwcom| 亚洲av综合色区| 超碰免费在线公开| 天天操,天天操| 国内外成人免费激情视频| 国产精品无码电影在线观看| 午夜剧场在线免费观看| 日韩中文字幕二区| 日韩欧美精品在线观看视频| 国产在线无码精品| 亚洲成人动漫在线| 日本人69视频| 日韩一区二区三区不卡视频| 日韩视频第二页| 国产福利视频在线播放| 日韩在线一级片| av之家在线观看| aa在线观看视频| 日韩精品一区二区三区久久| 国产 欧美 日本| 中文字幕色呦呦| 男人添女荫道口女人有什么感觉| www.亚洲一区二区| 久久久99精品视频| 青青草综合在线| 国产真人做爰毛片视频直播| 亚洲精品久久久久久久蜜桃臀| 欧美美女黄色网| 91免费黄视频| 日韩在线视频在线观看| 欧美日韩第二页| 日韩肉感妇bbwbbwbbw| www.com操| 色姑娘综合天天| 男女裸体影院高潮| 免费特级黄色片| 丝袜老师办公室里做好紧好爽| 已婚少妇美妙人妻系列| 91制片厂毛片| 大地资源第二页在线观看高清版| 9l视频自拍9l视频自拍| 欧美视频在线观看视频| aⅴ在线免费观看| 亚洲久久中文字幕| 91精品国产吴梦梦| 黄色一级视频在线播放| 91视频免费版污| 日本一本草久p| 1024精品视频| 九九九九九九九九| 波多野结衣之无限发射| 日本激情综合网| 国产精品久久久久久久久电影网| 免费看国产曰批40分钟| 久热在线视频观看| 日本五级黄色片| 天天干天天玩天天操| 日韩一区二区高清视频| 亚洲免费av一区二区三区| av不卡在线免费观看| 人妻少妇被粗大爽9797pw| 91pony九色| 免费在线激情视频| 男女激烈动态图| 国产野外作爱视频播放| 久操手机在线视频| www.日本一区| 国产精品沙发午睡系列| 日本在线观看视频一区| 春日野结衣av| 成人免费a级片| 中文字幕永久有效| 成人免费在线小视频| 日本一本草久p| www.se五月| 国产第一页视频| av动漫在线看| 日本免费成人网| 强开小嫩苞一区二区三区网站 | 欧美成人黑人猛交| 欧美一区二区激情| 性做爰过程免费播放| av五月天在线| 狠狠热免费视频| 国产精品亚洲二区在线观看 | www.99r|