bbs树型结构的实现方法(二)

树型结构

下面这种方法是大怪兽和怡红公子现在采用的方法

create table forum
(
ID int NOT NULL IDENTITY,/*帖子序列号*/
rootID int NOT NULL, /*根帖子序列号*/
parentID int NOT NULL default=0,/*双亲帖子序列号*/
indent tinyint,/*缩进*/
order tinyint,/*同主题帖子排序*/
username varchar(40) NOT NULL,/*用户名*/
time daytime NOT NULL,/*贴帖子时间*/
IP varchar(15) NOT NULL,/*发帖子的IP*/
subject varchar(60) NOT NULL,/*帖子题目*/
text text,/*帖子正文*/
bytes int,/*帖子字数*/
status bit,/*状态*/
hits tinyint,/*hit数*/
primary key(ID) /*主关键字*/
)

简单地说用3个列描述层次结构
1.rootid   2.indent  3.同一个root下,order_no

1号贴
2号贴
3号贴
5号贴
4号贴
6号贴

这个结构的存储格式如下
id rootid indent 一个root下,order_no
1 1 0 0
2 1 1 1
3 1 2 2
4 4 0 0
5 1 1 3
6 4 1 1

按rootid,"一个root下,order_no"排序,
按indent缩进
即得树状到帖子列表

indent是4byte整数,从0开始的话,支持2147483648层
你要是定成numberic,那我也说不清支持几层

时间: 2024-09-10 12:07:35

bbs树型结构的实现方法(二)的相关文章

创建无限极分类树型结构的简单方法

先上效果图 顶级分类其实就是一级分类,二级分类也叫作一级分类的子分类,在这个基础上,子分类还可以拥有子分类,这样就构成了无限极分类. 接下来看具体实现的代码: 一.在控制器中按字段查询,查询出所有分类信息(id:该分类的ID值,cate_name:该分类的名称,pid:父ID,sorts:为显示标题顺序排序做准备,可不写.) public function cate_display() { $cate = D('Cate'); $field = array('id','cate_name','p

实现树型结构(二)

树型结构 实现树型结构(第二部分)作者:ACE      最后更新:06/08/2000      类别:原创 在上一部分,我们讨论了如何读取数据,并得到了表示层次关系的结果集.在这一部分,我们来看如何用脚本语言实现类似 MSDN 的界面. 可以在服务器端也可以在客户端完成这样的功能,这就要看需要了.在服务器端完成需要占用服务器的处理时间及相关资源,在客户端完成需要浏览器支持脚本语言(一般是 JavaScript),并要下载执行脚本. 在我们的示例里采用客户端执行脚本的方法. 1. 将数据发送到

AJAX实现动态树型结构

ajax|动态|树型结构 树型结构是一类应用非常广泛的数据结构.人类社会中宗族的族谱和现代企业的组织形式都是树型结构.在计算机领域中,文件系统中文件的管理结构.存储器管理中的页表.数据库中的索引等也都是树型结构.随着Internet的飞速发展,树型结构在浏览器/服务器(Browser/Server,简称B/S)应用系统的应用也越来越广泛. 目前,在互联网上广泛存在.应用的树型结构一般分为两种:静态和动态结构.静态结构存在最多.实现简单,但是静态导致不能改变树的结构和内容,无法反映树的节点信息的变

基于AJAX的动态树型结构的设计与实现

ajax|动态|设计|树型结构 <B>摘 要</B>:简要介绍了一种通用的,动态树型结构的实现方案,该方案基于Asynchronous JavaScript and XML,结合Struts框架设计实现了结构清晰.扩展性良好的多层架构,数据存储于数据库,结合XML描述树的节点信息,使得任何按预定的XML文档描述的信息都可以通过动态树来展现.<br /><table border="0" cellspacing="0" cel

非递归法实现论坛树型结构及分页!!(心血结晶啊,呵呵)

递归|分页|树型结构 现将本人的实践结果show给大家,不足之处就是分页的方法不太好,不能显示具体的页数,可实在又没有其它更好的解决办法,只好先如此了,如果哪位有类似本论坛的分页方法,表赐教一二,二泉不胜感激!具体可访问我的个人小网站:http://web.nyist.net/~wbgwrq,不废话了,开始吧...... //表的结构如下://creat.sql//简单说明:RootId 论题序数;Layer:帖子层次,缩进的依据:Orders:帖子的顺序CREATE TABLE over_po

一道 SQL 题 ... (关于树型结构的在关系表中的存储及其应用处理)

树型结构 相关讨论连接:http://expert.csdn.net/Expert/TopicView1.asp?id=1477009原题:表:Tree (ID [Integer],ParentID [Integer],Remark [varchar]) INSERT INTO Tree (ID,ParentID)        SELECT 1,0    UNION ALL       SELECT 2,1    UNION ALL       SELECT 3,1    UNION ALL 

树型结构在ASP中的简单解决

解决|树型结构 树型结构在我们应用程序中还是很常见的,比如文件目录,BBS,权限设置,部门设置等.这些数 据信息都采用层次型结构,而在我们现在的关系型数据库中很难清淅表达.那么要在程序中遇到树型 结构问题该如何处理呢? 最近笔者通过一个ASP权限管理的程序轻松解决了一这问题,现在将其整理出来以飨读者. 首先,要将层次型数据模型转化为关系型数据模型.也就是说如何在我们的ACCESS,SQL SERVER ,ORACLE等关系型数据库中设计这个数据结构. 拿个实例来讲吧,譬如下面一个数据: 文档管理

非递归法实现论坛树型结构及分页

递归|分页|树型结构 现将本人的实践结果show给大家,不足之处就是分页的方法不太好,不能显示具体的页数,可实在又没有其它更好的解决办法,只好先如此了,如果哪位有类似本论坛的分页方法,表赐教一二,二泉不胜感激!具体可访问我的个人小网站:http://web.nyist.net/~wbgwrq,不废话了,开始吧...... //表的结构如下://creat.sql//简单说明:rootid 论题序数;layer:帖子层次,缩进的依据:orders:帖子的顺序create table over_po

php 通用的树型类 可以生成任何树型结构

class tree {  /**  * 生成树型结构所需要的2维数组  * @var array  */  var $arr = array();  /**  * 生成树型结构所需修饰符号,可以换成图片  * @var array  */  var $icon = array('│','├','└');  /**  * @access private  */  var $ret = '';  /**  * 构造函数,初始化类  * @param array 2维数组,例如:  * array(