2011-04-29 60 views
1

如何避免生成CategoryID/ParentCategoryID的選項卡列表最簡單的方法?我不是SQL專家,但在邏輯上,這對我來說非常困難。CategoryID/ParentCategoryID循環幫助

可以用1或2個SQL語句完成,也許Do/Loop For/Next可以工作嗎?

名單應該是這樣的:

類別 -Subcategory --SubSubcategory --- InfiniteSubcategories

類別 -etc .. --etc ...

回答

2

閱讀在稱爲「閉包表」的東西上。這可能會讓你更輕鬆一點。

0

這當然不是一個簡單的問題(如果性能是任何重要的),所以它可能是對solutionssome讀了一個好主意,是scatteredinternet

對於一個簡單的(而不是在所有適合於工作在性能是重要的),你可以這樣做:

function readChildrenNodes(parentNode) { 
    newNodes = sql_db.get("SELECT * FROM nodes WHERE parent="+parentNode.id); 
    parentNode.appendChildren(newNodes); 
    for node in newNodes 
     readChildrenNodes(node); 
} 
+0

parentNode =? CATEGORYID? – bill 2011-04-29 15:18:41

+0

parentNode = ParentCategoryID,Node = CategoryID。談論節點比較容易,因爲你所描述的是一個樹形結構,這是一個數學約定。 – Afiefh 2011-04-29 15:21:35

+0

你知道它在VBScript,經典的ASP? – bill 2011-04-29 17:11:52