peterujah/hierarchical

Hierarchical - 轻量级、简单的PHP和mysql层次结构数据和组织结构图。

1.4 2022-10-13 09:38 UTC

This package is auto-updated.

Last update: 2024-09-13 13:27:39 UTC


README

层次结构表示人或其他相关实体之间的关系。层次结构结构确定哪些实体对其他实体有指挥权。

层次结构可以通过数据库中的表记录存储,这些记录表达了在层次结构树中哪些实体位于下方或上方。

此类可以从MySQL数据库表检索层次结构树结构,以便轻松使用Google组织图API、数组或HTML进行可视化。

alt text

安装

通过Composer安装非常简单

composer require peterujah/hierarchical

USAGES

Hierarchical可以用作数组、HTML或Google组织图

use Peterujah\NanoBlock\Hierarchical;
$hierarchy = new Hierarchical($conn, Hierarchical::LIST);
$hierarchy = new Hierarchical($conn, Hierarchical::HTML);
$hierarchy = new Hierarchical($conn, Hierarchical::CHART);

分配新用户到职位

 $hierarchy->add("foo22", "Foo")->under("vy7735");

数组输出

$hierarchy = new Hierarchical($conn, Hierarchical::LIST);
var_export($hierarchy->run("Peter", "vy7735"));

在Google组织图上显示

google.charts.load('current', {packages:["orgchart"]});
  google.charts.setOnLoadCallback(drawChart);
  function drawChart() {
    var data = new google.visualization.DataTable();
    data.addColumn('string', 'Name');
    data.addColumn('string', 'Manager');
    data.addColumn('string', 'ToolTip');
    data.addRows(<?php echo $hierarchy->run("Peter", "vy7735");?>);
    var chart = new google.visualization.OrgChart(document.getElementById('chart_div'));
    chart.draw(data, {'allowHtml':true});
}

初始化选项 new Hierarchical($conn, Hierarchical::CHART)