欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

无限分类的数据库表怎么设计的

程序员文章站 2022-06-01 16:24:08
...
无限分类的数据库表怎么设计最好的
我在写多级菜单后台

完全不知道怎么写比较好。。。。。。。。。。

打算用jstree做前端。。


回复讨论(解决方案)

jstree 的基本数据结构是

{ attributes: { id : "node_identificator", some-other-attribute : "attribute_value" }, data: "node_title", // Properties below are only used for NON-leaf nodes state: "closed", // or "open" children: [ /* an array of child nodes objects */ ] } 
attributes里为自定义属性,data为节点显示的文本,state值为closed时,节点前面有表示节点可以被展开的标识。还有其它写法可参考documentation.html里的Datastores段。

jstree 是动态加载子节点的
所以,你的表除了满足基本数据的存储外,至少还需要有一个指示条目归属的字段

jstree 的基本数据结构是

{ attributes: { id : "node_identificator", some-other-attribute : "attribute_value" }, data: "node_title", // Properties below are only used for NON-leaf nodes state: "closed", // or "open" children: [ /* an array of child nodes objects */ ] } 
attributes里为自定义属性,data为节点显示的文本,state值为closed时,节点前面有表示节点可以被展开的标识。还有其它写法可参考documentation.html里的Datastores段。

jstree 是动态加载子节点的
所以,你的表除了满足基本数据的存储外,至少还需要有一个指示条目归属的字段


其实我想知道数据库表示怎么设计的 怎么遍历数据到前端。。前端遍历出来的数据又是如何放入数据库的。。。。。。。。。。。

当前节点ID,父亲节点ID, 当前节点的路劲,节点名称
比如存在:电脑、办公 > 电脑整机 > 超极本,数据库可以存3条数据

1   0   1            电脑、办公 2   1    1,2       电脑整机3,  2     1,2,3    超极本

当前节点ID,父亲节点ID, 当前节点的路劲,节点名称
比如存在:电脑、办公 > 电脑整机 > 超极本,数据库可以存3条数据

1   0   1            电脑、办公 2   1    1,2       电脑整机3,  2     1,2,3    超极本


遍历思路怎么样的 怎么确保先从最上面开始遍历

当使用 jstree 展示时,不存在遍历问题
只需提供父节点的 id 即可,而查询得到的只是该父节点的一级子节点