人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

bbs的樹狀結構算法

bbs的樹狀結構算法

更新時間:2022-09-20 文章作者:未知 信息來源:網絡 閱讀次數:

數據庫設計中order_value是用來排序的,具體實現是   
**注意以下的討論是對一個主題而言,就是對一棵樹而言!   
如果加一新貼那么  order_value=0   
如果跟貼查比父貼  order_value大的order_value   
如果有假設為next_value,那么新帖的   
order_value為父貼的(order_value+next_value)/2;   
如果有那么新帖的order_value為父貼的order_value+1000   
也就是說如果對A貼跟貼,如果A為末貼,A的字帖的order_value為order_value(父)+1000,   
不是末貼既找出比A大的order_value,新的order_value為兩者的一半!   
排序實現: order by groupid,order_value desc   
**技巧如果想實現層次多一點可以每次加的多一點+100000,那樣應該會好一點   

***不足之處:   
1:使用兩個字段排序,速度有點慢   
2:使用order_value是一個浮點數,使用float估計不夠,還是使用double   
3:只能實現理論上的無窮層實際上超過10層使用float有問題,使用double可能沒有   
4:插入是需要查找下一個order_value

Dim ordervalue, nextvalue As Double
sql = "select gorders where gId=" & gId & " and goders> " & gorders & " order by goders  "
rs1.Open sql, conn1, adOpenForwardOnly, adLockOptimistic '查詢比父貼大的
                                                          order_value
If (rs1.EOF And rs1.BOF) Then
  gorders = gorders + 256
  gLayer = gLayer + 1
Else
  nextvalue = rs1("gorders")
  If (nextvalue - gorders) > 1 Then
   gorders = Int((gorders + nextvalue) / 2)
   gLayer = gLayer
  Else
     'gorders,glayer跟回帖一樣
End If
End If

End Sub

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

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 江川县| 上犹县| 桃源县| 沂水县| 清徐县| 札达县| 叙永县| 怀集县| 梧州市| 铁岭市| 大丰市| 颍上县| 十堰市| 诸暨市| 常德市| 雷波县| 江安县| 临颍县| 汶川县| 黎平县| 睢宁县| 灌阳县| 上高县| 长泰县| 苗栗市| 延津县| 黔西县| 深州市| 吉林省| 景洪市| 搜索| 临城县| 兴国县| 富裕县| 衡水市| 灵川县| 安图县| 梧州市| 乐亭县| 韶关市| 冀州市|