PHP mysql输出组织结构图/树结构
PHP mysql to output org chart/tree hierarchy
我想输出我的数据库记录
UserName Placement Position
Jimmy left
JLO Jimmy left
Shinobi JLO left
trialuser4 JLO right
donald_duck trialuser4 left
minnie_mouse donald_duck left
mickeymouse donald_duck right
dr_octopus mickeymouse left
dr_cucumber dr_octopus left
mr_brown111 dr_octopus right
如果我的树以JLO开头,我想输出如下
JLO
Shinobi
trialuser4
donald_duck
minnie_mouse
mickeymouse
dr_octopus
dr_cucumber
mr_brown111
但是使用mysql和php,我如何绘制记录并输出它就像我的jsFiddle html代码。
谢谢你的帮助&启蒙!
首先可以构建一个嵌套数组来表示层次结构。然后递归打印出列表标签:
$rows = array(
array('UserName' => 'Jimmy', 'Placement' => '', 'Position' => 'left'),
array('UserName' => 'JLO', 'Placement' => 'Jimmy', 'Position' => 'left'),
array('UserName' => 'Shinobi', 'Placement' => 'JLO', 'Position' => 'left'),
array('UserName' => 'trialuser4', 'Placement' => 'JLO', 'Position' => 'right'),
array('UserName' => 'donald_duck', 'Placement' => 'trialuser4', 'Position' => 'left'),
array('UserName' => 'minnie_mouse', 'Placement' => 'donald_duck', 'Position' => 'left'),
array('UserName' => 'mickeymouse', 'Placement' => 'donald_duck', 'Position' => 'right'),
array('UserName' => 'dr_octopus', 'Placement' => 'mickeymouse', 'Position' => 'left'),
array('UserName' => 'dr_cucumber', 'Placement' => 'dr_octopus', 'Position' => 'left'),
array('UserName' => 'mr_brown111', 'Placement' => 'dr_octopus', 'Position' => 'right'),
);
$nested_lists = array();
$user_lists = array();
foreach ($rows as $row) {
$placement = $row['Placement'];
$user = $row['UserName'];
if ($placement == '') {
$nested_lists[$user] = array();
$user_lists[$user] = &$nested_lists[$user];
} else {
$pointer = &$user_lists[$placement];
$pointer[$user] = array();
$user_lists[$user] = &$pointer[$user];
}
}
function build_list($arr)
{
if (count($arr) == 0) {
return '';
}
$html = "<ul>";
foreach ($arr as $k => $v) {
$html .= "<li>$k" . build_list($v) . "</li>";
}
$html .= "</ul>";
return $html;
}
echo build_list($nested_lists['Jimmy']);
打印
- 詹妮弗·洛佩兹
- 忍者
- trialuser4
- donald_duck
- minnie_mouse
- 是
- dr_octopus
- dr_cucumber
- mr_brown111
- dr_octopus
- donald_duck
相关文章:
- 更改JSON对象的结构
- 角度控制器结构
- 从键值结构中获取数据,并将其与AngularJS中ng重复的值进行比较
- 使用递归属性迭代保留属性结构
- 如何将我的json结构转换为C3.js所需的列结构
- 嵌套对象结构
- Redux应用程序结构-在哪里放置服务/业务逻辑
- 用于视频类型的MongoDB结构's
- javascript和php中的pancard结构验证
- 如何在砖石结构中订购DOM
- 谷歌组织结构图:具有多种属性的样式
- 尝试从“平面”JSON连接D3节点以制作公司层次结构图
- 组织结构图
- 谷歌组织结构图:修改节点父级
- 单击时切换 Google 组织结构图即
- 如何将超链接添加到谷歌图表组织结构图
- JQuery/HTML5:组织结构图,如何使用该插件正确删除节点
- SharePoint 2010中组织结构图WebPart的VML问题
- 水平树/组织结构图/uml使用QUERY或只是CSS
- Flash组织结构图