Справка по зацикливанию CategoryID / ParentCategoryID - PullRequest
1 голос
/ 29 апреля 2011

Как вам проще всего создать список вкладок CategoryID / ParentCategoryID самым простым способом? Я не эксперт по SQL, но, по логике, это очень сложно для меня ..

Можно ли это сделать с помощью одного или двух операторов SQL, возможно, сработает Do / Loop For / Next?

Список должен выглядеть так:

Категория -Подкатегория --SubSubcategory --- InfiniteSubcategories

Категория -так далее.. --etc ...

Ответы [ 2 ]

2 голосов
/ 29 апреля 2011

Читайте о том, что называется "Таблицы закрытия". Это может сделать несколько вещей легче для вас.

0 голосов
/ 29 апреля 2011

Это, безусловно, непростая проблема (если производительность имеет какое-либо значение), поэтому неплохо было бы почитать о некоторых из решений , которые разбросано в интернете .

Для простых (и совсем не подходящих для задач, где важна производительность) вы можете сделать это:

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