2011-04-29 41 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