无限级目录数据库结构与方法一例

多级目录设计思想 一、基本设计思路改进表结构:可以实现无限级分目录, 根据网站需求可限制最多分级目录如5级目录ID 主键ENName, ENName,CHNName1,JapanName,KoreaName 分类名称ParentID 父节点ID (与ID成父子关系) ParentID 为0 时表示根目录ParentID 等于 ID 的值时,表示对应ID的子目录Depth 当前结点分类级数(深 阅读详情
Folder 表:
Folderid:目录ID,自动编号
FolderParentID:上级目录ID,Int
FolderName:目录名称,Varchar
FolderDescription:目录说明,Varchar

File 表:
FileID:文档ID,自动编号
FileFolderID:所属目录ID,Int
FileName:文档名称,Varchar
FileDescription:文档内容,Varchar或备注(ntext)

function GetAllChildID(id)
''取得FolderID为id的目录下所有子目录的FolderID,以半角逗号分开
dim arrID
arrID = id
Set rsdir = Conn.Execute("Select FolderID,FolderParentID from [Folder] where FolderParentID = " & id & "")
if rsdir.eof and rsdir.bof then
set rsdir = nothing
GetAllChildID = arrID
exit function
else
while not rsdir.eof
arrID = arrID & "," & GetAllChildID(rsdir("FolderID"))
rsdir.movenext
wend
end if
set rsdir = nothing
GetAllChildID = arrID
end function


''从表File中取得某个目录下所有文档的Sql
dim AllChildID
AllChildID = GetAllChildID(5) ''取得FolderID为5下所有目录的FolderID
AllfileSql = "Select FileID,FileName from [File] where FileFolderID in ("& AllChildID &")"

?
function FolderPath(id)
''得到一个目录的完整路径
dim Pathstr,NewPathstr
Set rsdir = Conn.Execute("Select FolderID,FolderName,FolderParentID from [Folder] where FolderID = " & id)
if rsdir.bof and rsdir.eof then
Pathstr = ""
else
Pathstr = "<a href=""Folder.asp?FolderID=" & rsdir("FolderID") &""">" & rsdir("FolderName") & "</a> > " & Pathstr
if rsdir("FolderParentID") <> 0 then
Pathstr = FolderPath(rsdir("FolderParentID")) & Pathstr
end if
end if

NewPathstr = Pathstr
set rsdir = nothing
FolderPath = NewPathstr
end function

dim folderpathstr
folderpathstr = FolderPath(67)
response.write folderpathstr ''输出 (技术文档 > Web开发 > ASP > Code Sample > 表单 > )
FreeSql 使用 ToTreeList/AsTreeCte 查询无限级分类表 关于无限级分类 第一种方案: 使用递归算法,也是使用频率最多的,大部分开源程序也是这么处理,不过一般都只用到四级分类。 这种算法的数据库结构设计最为简单。category表中一个字段id,一个字段fid(父id)。这样可以根据WHERE id = fid来判断上一级内容,运用递归至最顶层。 分析:通过这种数据库设计出的无限级,可以说读取的时候相当费劲,所以大部分的程序最多3-4级分类,这就足以满足需求,从而一次性读出所有的数据,再对得到数组或者对象进行递归。本身负荷还是没太大问题。但是如果分类到更多级,那是 阅读详情

相关推荐

JSP无限级分类目录树.zip

JSP无限级分类目录树.zip JSP无限级分类目录树.zip JSP无限级分类目录树.zip

数据库无限层级分类设计

转2019-07-15 数据库无限层级分类设计 - 云+社区 - 腾讯云 起步 在大多数的系统中,对内容进行分类是必要的。比如电商的商品分类;论坛的板块等。 需求分析 分类之间的关系是怎样的? 很明显,一个分类下面可以是多个下级分类。反过来呢,一个下级分类能够属于几个上级分类呢?这个并不确定,得看具体的业务需求。如果是多个实现上会更加复杂,为了讨论层级设计,这里先限定每个分类仅有一个上级分类。 对于某个分类,需要支持的操作如下: 对单个分类的 CURD; 查询该分类的直属下级或所有下级分类;

m0_37693200的博客 1451

从FOC到你的无人机:深入浅出讲透Clark/Park变换在无刷电机控制中的核心作用

本文深入解析Clark变换与Park变换在无刷电机控制中的核心作用,揭示其如何将三相交流电转换为旋转坐标系下的直流量,实现无人机电机的高效精准控制。通过STM32硬件加速和工程实践案例,展示这对数学变换如何成为FOC算法的神经中枢,大幅提升系统响应速度和能效表现。

weixin_42628941的博客 169

MySQL无限级目录的构建与父目录查询

Mysql无限级目录的构建与父目录查询 问题 当一个数据库中只有一张数据表的时候,是否有可能需要用到连接查询?设学生选课数据库中,使用SQL语句完成查询课程的先修课,列出课程名称以及它的先修课的名称。 当一张表连接自身的连接称为自连接 。其应用场景主要是在构建无限多级目录。比如线上课程的多级目录,商品类别的无限分类,以及本题所探讨的先修课程的问题。 以下就以先修课程为例进行阐述(这里只考虑每门课程...

Sevenstringed 1938

白话详细解读(七)----- CBAM:Convolutional Block Attention Module

一、CBAM简介 论文链接:https://x.sci-hub.org.cn/scholar?hl=zh-TW&as_sdt=0%2C5&q=CBAM%3A+Convolutional+Block+Attention+Module&btnG=&oq=CB CBAM这篇论文是在2018年提出的,自提出之后,已经被引用上千次,可见其影响力。CBAM是一种专门为了卷积神经网络而设计的注意力模块,传统的卷积存在只关注局部信息,而往往忽略全局信息的弊端,以3*3卷积为例,滤波器有9个

奋斗の博客 1万+

JDK8升级JDK17过程中遇到的那些坑

JDK8虽然非常好,但是JDK版本已经发布到JDK20了,且JDK8后的版本升级了很多新的特性,如模块化、ZGC以及虚拟线程、结构性并发等,也是非常有吸引力的,所以决定将基于JDK8的项目升级到最近的LTS版本JDK17。

BASK2312的博客 6685

如何实现无限级目录

以版面添加为例:pid值为0的数据为第一级;pid值等于id值的数据为这个id的子级 1.在repository中创建getGroupForums方法用来存储pid值相同的数据为一组 Forum[][int] getGroupForums() //二维数组 { Forum[][int] groupForums; foreach (forum; this....

weixin_45585545的博客 472

如何将TDengine集成到Thingsboard?

1 概述 ThingsBoard是用于数据收集、处理、可视化和设备管理的开源物联网平台。它通过行业标准的物联网协议MQTT、CoAP和HTTP实现设备连接,并支持云和本地部署。 ThingsBoard迄今没有导入专业的时序数据库应用,用户可选择的只有PostgreSQL和Cassandra。虽然针对PostgreSQL引入了TimeScale插件,但由于其不是按照宽表的方式组织数据记录,TimeScale的优势根本发挥不出来。总之,这两种数据库不具备高效的数据吞吐能力。 而且,Thingsboard在

Wearable_device的博客 4767

[收藏] 三种 无限级分类 的数据库设计方案(菜单,,权限管理)

转载 三种 无限级分类 的数据库设计方案 ***适合(菜单,,权限管理)的数据库设计*** 第一种方案: 表为两张,一张分类表,一张信息表。 ( 一级分类和二级分类合并成一张表) TypeID 指一级二级分类的ID(唯一标识、主键) 序列自增从1开始。 TypeName 指一级二级分类的名字 ParentID 指二级分类所属一级分类TypeID (若为一级分类则填”0”...

失意渔翁 4197

Nengo神经工程框架:脉冲神经网络的实时编译与硬件部署

脉冲神经网络(SNN)作为类脑计算的核心范式,正从生物模拟走向工程落地。其本质是用离散脉冲建模神经动力学,关键在于实现可预测、可复现的神经行为而非单纯拟合函数。Nengo基于神经工程学框架(NEF),将动态系统理论与硬件约束深度融合,通过解析式权重计算、确定性时间步长(dt)和多后端编译能力,支撑从CPU仿真到Loihi/FPGA的端到端部署。它不替代深度学习框架,而是提供面向神经形态芯片的‘神经编译器’能力,使LIF神经元参数、突触动力学与硬件时序严格对齐,显著提升实时性、能效比与物理可解释性。

weixin_32533659的博客 636

Godot 2D游戏开发实战:用GDScript复刻10款经典小游戏(附完整源码)

本文是一份Godot 2D游戏开发实战指南,通过使用GDScript语言复刻10款经典小游戏,帮助开发者快速掌握引擎核心功能。内容涵盖从环境配置、GDScript基础到贪吃蛇、Flappy Bird、打砖块、俄罗斯方块等项目的核心逻辑与代码实现,并附有完整源码,旨在通过实践提升独立开发能力。

gold的博客 778

数据库设计无限级分类

简单需求分析: 1.实现无限级分类。 2.实现无限级链接导航 3.实现逐级分类下各条信息的查询,包括最多浏览量,最多评论量,最新信息。 4.随意转移子分

鹰击长空 4449

Python中的字典(Dictionary)学习

上一章节,我们学习了列表(List) 和 元组(tuple) 来表示有序集合。而我们在讲列表(list)的时候,我们用了列表(list) 来存储用户的姓名。那么如果我们为了方便联系这些童鞋,要把电话号码也添加进去,该怎么做呢?但是这样很不方便,我们把电话号码记录下来,就是为了有什么事能及时联系上这些童鞋。如果用列表来存储这些,列表越长,我们查找起来耗时就越长。

热情、奔放、快乐编程! 503

Asp.net 无限级分类

Asp.net 无限级分类近期做的一个网站需要一个无限级下拉列表的无限级分级功能,于是就有了下面的小作品。 开始以为无限级下拉列表功能应该很简单,无非就是用一个递归算法就好啦,但是在做起来的时候却会遇到一些比较模糊的东西。在网上找了很久也没有找到例子,没办法了,想偷懒也偷不成了,还是自己老老实实的写一个吧。不多废话,下面请看我做的详细方法。 1。无限级分类肯定要数据库支持啦,用户可

生活要快乐 - 魏言 2094

第14.10章 高翔博士最新开源框架Lightning-LM源码解读(十):在线定位run_loc_online涉及到的核心模块总结

本文对Lightning-LM激光SLAM定位框架进行了全面剖析。该框架是一个轻量高效的激光雷达建图与定位系统,支持3D SLAM、动态图层管理等功能。文章首先介绍了项目概况和源码结构,包括核心模块如定位系统(loc_system)、激光匹配(lidar_loc)和位姿图优化(pose_graph)等。接着详细解析了各模块的关键函数和运行流程,如数据接收处理、NDT匹配和位姿优化等。最后总结了学习该框架所需的C++知识要点,包括智能指针、多线程编程等现代C++特性。该分析为SLAM开发者提供了实用的架构参考

行知SLAM 801

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

微信小程序 点赞+评论(无限级评论回复)/带图评论解决方案

最近接到一个项目需求:文章可以评论,并且是无限级带图评论,简而言之就是点赞+评论(无限级评论回复)/带图评论。初次接到这个需求疑惑了很久,由于自己接触小程序时间很短,对小程序机制也了解的很肤浅,所以就按照自己的想法做了一个基础的框架版本出来,里面有些内容还希望有高人指点一下,如果有大能能把它封装为插件,那就再好不过有了。

lx3gp的博客 1万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

用golang递归构建无限级树状目录json数据和数据库

package main import ( "encoding/json" "fmt" "os" "path/filepath" "sort" ) func main() { rootpath := "D:\\projects" root := FileNode{"projects", rootpath, []*FileNode{}} fileInfo, _ := os.Ls

hotqin888的专栏 9251

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

ASP无限级分类原理、数据库结构设计、应用及相关函数

本篇文章以本站无限级分类为例子,讲解无限级分类的原理及应用。 数据库设计 mmFolder表 mmID 自动编号 mmParentID 数字型(长整型) 上级目录ID,如果为根目录,此值为0 mmName 文本型(50) 栏目名称 mmFile表 mmID 自动编号 mmFolderID 数字型(长整型) 所属目录ID——即Folder表的mmID值 .... 无限级分类原理

大头爸爸的博客 3352

无限级分类的数据库设计

文章目录场景分析邻接列表模式物化路径模式闭包表 场景 无限级分类是经常遇到的设计模式 分析 无限级分类常用的模式 (每种模式都是根据需要选择) 邻接列表模式 物化路径模式 闭包表模式 邻接列表模式 表结构 node_id parent_id name 优点 操作简单 缺点 生成一棵树很难 适合场景 4层结构之内的分类 物化路径模式 表结构 path n...

cominglately的博客 1648

html遍历无限级树,无限级树构造并遍历输出指定条件叶子

目录场景介绍数据实现构造无限级广度优先遍历深度优先遍历完整代码场景介绍最近接到一个需求,需要根据平级结构构造无限级树型结构,界面类似下边这样的结构然后,还需要把所有的橙色标记的叶子节点从垂直方向筛选出来,最终效果就是得到一个这样顺序的一级数组KKKQQQJJJHHHGGGLLL需要根据AAA这个节点和他所有子节点的数据,构造出一个无限级树型结构,如下数据顶级AAA数据{"id":348019,"n...

weixin_32804237的博客 557

无限级分类实现思路

关于该问题,暂时自己还没有深入研究,在网上找到几种解决方案,各有优缺点。   第一种方案: 使用递归算法,也是使用频率最多的,大部分开源程序也是这么处理,不过一般都只用到四级分类。这种算法的数据库结构设计最为简单。category表中一个字段id,一个字段fid(父id)。这样可以根据WHERE id = fid来判断上一级内容,运用递归至最顶层。 分析:通

voo-ctj 821

Asp.net 无限级分类实例代码

 近期做的一个网站需要一个无限级下拉列表的无限级分级功能,于是就有了下面的小作品。 开始以为无限级下拉列表功能应该很简单,无非就是用一个递归算法就好啦,但是在做起来的时候却会遇到一些比较模糊的东西。在网上找了很久也没有找到例子,没办法了,想偷懒也偷不成了,还是自己老老实实的写一个吧。不多废话,下面请看我做的详细方法。 1。无限级分类肯定要数据库支持啦,用户可以动态添加他们的分类嘛,下面是数据库的结

xiaojie_cp的专栏 568
上一篇: Web 2.0 概念---汇总
下一篇: ASP+ACCESS实现的无限级目录树
KanJingCode
博客等级 码龄21年 0粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值