首页 | 头版要闻 | 经济广角 | 消费聚焦 | 民生视点
社会 | 省内要闻 | 经济论坛 | 市场特刊 | 财富周刊
经济 | 中国经济 | 经济观察 | 家庭百科 | 网络热点
您现在的位置: 河北经济日报网 >> 网络技术 >> PHP >> 文章正文 站内检索
服务热线:0311-88606031
同期新稿
 
普通文章 用PHP发送MIME邮件(三)
普通文章 用PHP发送MIME邮件(二)
普通文章 用PHP发送MIME邮件(一)
普通文章 PHP的面向对象编程:开发大型PHP项目的方法(五
普通文章 PHP的面向对象编程:开发大型PHP项目的方法(四
普通文章 PHP的面向对象编程:开发大型PHP项目的方法(三
普通文章 PHP的面向对象编程:开发大型PHP项目的方法(二
普通文章 PHP的面向对象编程:开发大型PHP项目的方法(一
普通文章 php对特殊语句查询结果进行数组排序
普通文章 php+mysql 获取数据库中的记录(特别是高效的分
普通文章 PHP后门的隐藏技巧测试报告
普通文章 php中计算时间差的几种方法
普通文章 PHP中使用FCKeditor2.3.2配置
普通文章 php:树形结构的算法
普通文章 PhpMyAdmin中无法导入sql文件的解决办法
普通文章 PHP预定义变量
普通文章 php调用存储过程返回结果集,解决cant return
普通文章 用PHP自动把纯文本转换成Web页面
普通文章 php中文乱码问题
普通文章 PHP与MYSQL交互函数表学习笔记
php:树形结构的算法
http://www.hbjjrb.com 2007-6-2 17:36:35 【字体: 繁体

从喜悦村上转载,以前也读过此文,讲述得还是比较清楚的。
产品分类,多级的树状结构的论坛,邮件列表等许多地方我们都会遇到这样的问题:如何存储多级结构的数据?

在PHP的应用中,提供后台数据存储的通常是关系型数据库,它能够保存大量的数据,提供高效的数据检索和更新服务。然而关系型数据的基本形式是纵横交错的表,是一个平面的结构,如果要将多级树状结构存储在关系型数据库里就需要进行合理的翻译工作。接下来我会将自己的所见所闻和一些实用的经验和大家探讨一下。

层级结构的数据保存在平面的数据库中基本上有两种常用设计方法:

毗邻目录模式(adjacency list model)
预排序遍历树算法(modified preorder tree traversal algorithm)
我不是计算机专业的,也没有学过什么数据结构的东西,所以这两个名字都是我自己按照字面的意思翻的,如果说错了还请多多指教。

这两个东西听着好像很吓人,其实非常容易理解。这里我用一个简单食品目录作为我们的示例数据。 我们的数据结构是这样的:


Food
|
|---Fruit
| |
| |---Red
| | |
| | |--Cherry
| |
| |---Yellow
| |
| |--Banana
|
|---Meat
|
|--Beef
|
|--Pork
为了照顾那些英文一塌糊涂的PHP爱好者

Food:食物
Fruit:水果
Red:红色
Cherry:樱桃
Yellow:黄色
Banana:香蕉
Meat:肉类
Beef:牛肉
Pork:猪肉

毗邻目录模式(adjacency list model)

这种模式我们经常用到,很多的教程和书中也介绍过。我们通过给每个节点增加一个属性 parent 来表示这个节点的父节点从而将整个树状结构通过平面的表描述出来。根据这个原则,例子中的数据可以转化成如下的表:

+-----------------------+
| parent | name |
+-----------------------+
| | Food |
| Food | Fruit

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

板块 推荐
普通文章 上海地产板块的下一个“嘉宝”
普通文章 投资者应趁回调吸纳哪些品种
普通文章 资金流向与热点板块前瞻(7/24)
普通文章 一汽“三架马车”飚升汽车板块表现抢眼
普通文章 全国房价持续飚升 房地产股强者恒强
普通文章 经济高速增长下资产升值远未结束
普通文章 钢铁股“强硬”背后的深层含义
普通文章 七大行为折射热点轮动轨迹
房产 推荐
普通文章 全国70个大中城市6月房价继续走高
普通文章 房子也“性感” 大S粉红豪宅闺房大曝光(组图
普通文章 6月份全国70个大中城市房价上涨7.1%
普通文章 深圳购房团长沙抢楼
普通文章 地王记录一再被刷新 地价与房价究竟谁更失控
普通文章 97%专家称下半年房价将再上涨
普通文章 加息3日后大户型二手房出现抛盘倾向
普通文章 北京6月住宅交易增四成 高档住宅成交排行(
频道精选  
焦点:  对话土坯房办公的县委书记:“不窝囊也不高
股票:  每日七大机构看后市(7.24)
社会:  专家称中国性革命已成功 “多伴侣”增长明
主力:  机构:四只股票被严重低估
经济:  6月份CPI数据同比上涨4.4% 或将引发股市变
个股:  中金精选个股点评
时评:  李嘉诚:内地股市绝对是泡沫
黑马:  万丰奥威:汽车轮毂王 罕见走势带来涨升动
读书:  处决艳谍川岛芳子照片
板块:  上海地产板块的下一个“嘉宝”
体育:  众国脚在浴池看到美女后的反应
基金:  9只还未启动的业绩高增股
军事:  武警部队8月1日起全面换装
债券:  宏观调控走到十字路口 下一步调控存争议
时尚:  安妮·海瑟葳纯美写真
传闻:  据传,恐怖预言-快涨完了!
娱乐:  传沈殿霞病情再度告急 为女儿前途苦撑社交
理财:  2030年退休金缺口达500亿美元 靠啥养老?
数码:  三星下半年四款新机抢先曝光
汽车:  新爱丽舍上市推迟至明年 小天窗版毕加索年
百科:  心急梗塞成杀手 改变生活方式和针灸须双管
房产:  全国70个大中城市6月房价继续走高

普通文章 专家称中国性革命已成功 “多伴侣”增长明显
普通文章 “丁香小慧”事件:被焦急等待的真相
普通文章 河北围场多名领导接到下流短信 一女干部被拘
普通文章 江西女孩被打伤续:后妈跪求媒体洗冤

公园长椅上的一对激情男女

迷离在都市酒吧夜生活里的

超震撼:德国尸体艺术

弟弟与哥哥情妇结婚

触目惊心:艾滋病村实录

访变性男:一年前得病大便从

网友实拍的特殊场所

最佳性幻想车模冠军 莉亚
同期热点
普通文章 php:树形结构的算法
普通文章 jsp2.0新特性
普通文章 Servlet和JSP迈上新台阶
普通文章 JSP 2.1技术规范投票通过 表达式语言有所改进
普通文章 JSP 2.1和JSF 1.2规范发布预览版本
普通文章 基于JSP的动态网站开发技术
普通文章 Java线程的深入探讨
普通文章 JSP了图形验证码-汉字
普通文章 jsp从数据库取得数据作为下拉菜单选项的实现
普通文章 实现session登陆时间的验证,验证用户登录页面
普通文章 输入汉字自动转为拼音(jsp实现方式)
普通文章 JSP 国际化-格式化货币和日期
普通文章 JSP取当前日期
普通文章 在一个jsp页面实现二级下拉框联动,实时读取数
普通文章 在jsp环境中配置使用fckeditor
普通文章 用QuickWAP组件结合ASP建设Wap站点
普通文章 ASP无组件上载,带进度条,多文件上载
普通文章 Flash+ASP实现电子互动地图在线标注功能
普通文章 ASP实现多域名同一空间的处理实例
普通文章 ASPImage组件的实现过程

众国脚在浴池看到美女后的

泳池姐妹花靓丽写真
英超女神最新泳装写真 大展浑圆曲线 赛车女郎真丰满
英巨胸女皇描绘极品女 众国脚在浴池看到美女后的反应
国足无法冲破魔咒 死在“黎明曙光”到来之前
阿帅承诺斯科拉上场时间 赞其一点远胜斯潘

好友确认那英怀第二胎

传沈殿霞病情再度告急 为女

范冰冰曾经的肥臀粗臂曝光

新“紫菱”张嘉倪美图

准宝钗姚笛扮“的姐”

刘嘉玲穿短裙怕走光黄布遮

张嘉儿港姐爆冷夺冠

阿娇离场遭粉丝拦截

河北经济日报社版权所有 河北经济日报社网络信息部管理与维护
地址 石家庄市裕华西路186号 电话:0311-88606031
hebei82gov@yahoo.com.cn
未经许可不得转载和镜像 冀ICP备字020964号
技术支持 动易网络科技有限公司
建议使用1024x768分辨率