mysql 存储层级关系

阅读: 评论:0

mysql 存储层级关系

mysql 存储层级关系

层级结构,也叫树形结构。在关系型数据库中保存树状结构数据,常用的方法有两种:

邻接表(Adjacency List)

修改过的前序遍历算法(MPTT)

要存储的树状结构数据图如下

表名:Food

1、邻接表

邻接表依赖于pid字段连接上下级。id为自增主键,pid为上一节点的id,例如:Apple的上一节点是Red,所以 Apple pid = Red id

1.1 打印树结构

1 classTree2 {3 private $treeM; //pdo实例

4 private $tname; //表名称

5 private $stmt; //结果集

6 private $res; //结果

7 public function __construct(TreeM $treeM, $tname)8 {9 $this->treeM = $treeM->getTreeM();10 $this->tname = $tname;11 }12 /**13 * 打印树结构14 * @param {Int} $root_id 父节点id,为0则显示整个树结构15 * @param {Int} $level 当前节点所处的层级,用于缩进显示节点16 */

17 public function show_tree($root_id = 0, $level)18 {19 //1. 获取父节点

20 $this->stmt = $this->treeM->query("select id, title from {$this->tname} where pid={$root_id}");21 $this->res = $this->stmt->fetchAll(2);22 foreach ($this->res as $row) {23 //2. 缩进显示

24 echo '

' . $row['title'] . ' ';25 //3. 递归调用当前函数,显示再下一级的子节点

26 $this->

本文发布于:2024-02-02 05:45:21,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170682392041749.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:层级   关系   mysql
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23