mysql如何实现树状结构图_实现树状结构的两种方法

实现树状结构的两种方法

更新时间:2006年10月09日 00:00:00   作者:

实现树状结构的两种方法

1。递归法

递归是指在函数中显式的调用它自身。

利用递归法实现树状结构的特点是写入数据速度较快,显示速度较慢(在树的分支/层次较多的情况下尤其明显)。适用与写入数据量大,树的结构复杂的情况下。

数据结构(以mysql为例)

代码:--------------------------------------------------------------------------------

CREATE TABLE `tree1` (

`id` tinyint(3) unsigned NOT NULL auto_increment,

`parentid` tinyint(3) unsigned NOT NULL default '0',

`topic` varchar(50) default NULL,

PRIMARY KEY  (`id`),

KEY `parentid` (`parentid`)

) TYPE=MyISAM;

INSERT INTO `tree1` (`id`, `parentid`, `topic`) VALUES

(1,0,'树1'),

(2,0,'树2'),

(3,0,'树3'),

(4,2,'树2-1'),

(5,4,'树2-1-1'),

(6,2,'树2-2'),

(7,1,'树1-1'),

(8,1,'树1-2'),

(9,1,'树1-3'),

(10,8,'树1-2-1'),

(11,7,'树1-1-1'),

(12,11,'树1-1-1-1');

--------------------------------------------------------------------------------

字段说明

id,记录的id号

parentid,记录的父记录id(为0则为根记录)

topic,记录的显示标题

显示程序

顺序树:

PHP代码:--------------------------------------------------------------------------------

/* 数据库连接 */

mysql_connect();

mysql_select_db('tree');

/* 树状显示的递归函数 */

function tree($parentid = 0) {

/*执行sql查询,获取记录的标题和id*/

$sql = "select topic,id from tree1 where parentid = $parentid order by id asc";

$rs = mysql_query($sql);

/* 缩进*/

echo("

  • ");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值