如何根据制定的数据使用PHP生成一个二叉树?


数据库结构和数据如下:

CREATE TABLE IF NOT EXISTS `yy_user_relations` (
  `id` bigint(32) unsigned NOT NULL AUTO_INCREMENT,
  `uid` int(10) unsigned NOT NULL COMMENT '用户ID',
  `cid` int(10) unsigned NOT NULL COMMENT '上级ID',
  `deep` int(5) unsigned NOT NULL COMMENT '深度',
  `area` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '区位',
  PRIMARY KEY (`id`),
  KEY `ucda` (`uid`,`cid`,`deep`,`area`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=114 DEFAULT CHARSET=utf8mb4 COMMENT='关系';

INSERT INTO `yy_user_relations` (`id`, `uid`, `cid`, `deep`, `area`) VALUES
    (108, 71, 1, 1, 0),
    (109, 72, 71, 1, 0),
    (110, 72, 1, 2, 0),
    (111, 73, 1, 1, 1),
    (112, 74, 73, 1, 1),
    (113, 74, 1, 2, 1);

area=0,代表左区,area=1代表在区

目标结构如下:



相关阅读:
原生js的事件绑定问题
replace方法在for循环里无效?
用JS求:输入某年某月某日,问是全年的第几天?
在chrome54中border的宽度与设置不符?
python爬取网页的时候,某些字符丢失
n个随机数 和是固定的 js如何实现?
关于使用java语言实现七牛云分片上传
php-fpm出现exited on signal 11 (SIGSEGV)?
netty 的 Server 启动成功事件是哪个?
关于angular2 中控件验证的复用
Golang如何阻止signal传递给os/exec执行的命令
the value for the useBean class attribute xxx is invalid
android中webview无网络时怎么实现点击加载?
tsconfig如何配置多个输出目录?
Reactjs 0.13是否没有过滤XSS攻击 ?
如何删除或修改 Git Credential Manager (GCM)缓存的账号和密码
请问如何解决windows环境下phantomjs不支持flash的问题?
react单页面应用中,点击浏览器回退按钮,怎么能使回来的页面保持离开前的状态?
前端测试(UI Recorder)webdriver启动firefox报错
百度坐标批量转换后画直线的问题



快速导航

Copyright © 2016 phpStudy |