Hướng dẫn organization chart php mysql - sơ đồ tổ chức php mysql

Tôi vừa tạo một mã tương tự. & Nbsp; Của tôi là cây thư mục cho một số tệp máy chủ, nhưng là cùng một hệ thống tổ chức (một thư mục có số X bên dưới có số x dưới chúng, v.v.)

Tôi đã làm cho mỗi "nút" một mảng. & Nbsp; Nó được cấu trúc một cái gì đó như.

node = array(name,info,sub)

Vì vậy, nói rằng bạn có một nút chủ sở hữu. & Nbsp; Bạn sẽ đặt tên là chủ sở hữu, thông tin là bất cứ điều gì bạn cần biết về anh ấy/cô ấy và Sub sẽ giữ một mảng khác (số không liên kết). & NBSP; Mỗi chỉ mục của mảng phụ này giữ một nút khác.

Nói rằng bạn có cây cơ bản này

                     --[EMPLOYEE1]
         -[MANAGER1]-|-[EMPLOYEE2]
[OWNER]-|                                --[EMPLOYEE3]
         -[MANAGER1]-[ASSISTANT MANAGER]-|-[EMPLOYEE4]
                                         --[EMPLOYEE5]

Là một mảng, điều này sẽ là

$employees = array(
0 => array(
	'name' => 'OWNER',
	'info' => 'I RULE',
	'sub' => array(
		0 => array(
		'name' => 'MANAGER 1',
		'info' => 'I CALL THE SHOTS',
		'sub' => array(
			0 => array(
				'name' => 'EMPLOYEE1',
				'info' => 'SLAVE LABORER',
				'sub' => NULL
				),
			1 => array(
				'name' => 'EMPLOYEE2',
				'info' => 'SLAVE LABORER',
				'sub' => NULL
				)
			),
		1 => array(
		'name' => 'MANAGER 2',
		'info' => 'I CALL THE SHOTS',
		'sub' => array(
			0 => array(
				'name' => 'ASSISTANT MANAGER',
				'info' => 'MORE WORK LESS PAY',
				'sub' => array(
					0 => array(
						'name' => 'EMPLOYEE3',
						'info' => 'SLAVE LABORER',
						'sub' => NULL
						),
					1 => array(
						'name' => 'EMPLOYEE4',
						'info' => 'SLAVE LABORER',
						'sub' => NULL
						),
					2 => array(
						'name' => 'EMPLOYEE5',
						'info' => 'SLAVE LABORER',
						'sub' => NULL
						)
					)
				)
			)
		)
	)
);

Để tìm, ví dụ, tên của nhân viên5 bạn sẽ sử dụng

$name = $employees[0]['sub'][1]['sub'][0]['sub'][2]['name'];
//first go to 0th element in the array, the owner node
//then go to owner node's sub array
//go to 1th element in owner's sub array, the manager2 node
//go to manager2's sub array
//go to 0th element in owner's sub array, the assistant manager node
//go to assistant manager's sub array
//go to the 2th node in assistant manager's sub array, the employee5 node
//get the 'name' value from employee5 node.

Bây giờ bạn có một cấu trúc dữ liệu cơ bản cho bảng nhân viên của bạn, đó chỉ là vấn đề điền vào danh sách và định dạng đầu ra.

Hy vọng điều đó sẽ giúp.

Tôi muốn tự động tạo biểu đồ tổ chức từ dữ liệu mysql vì liên kết này tôi có hai tệp data.php và index.php trong data.php Tôi đã đọc dữ liệu mysql và trong index.php Tôi đã truy cập dữ liệu từ tệp data.php theo sau trong tệp data.php

connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT * FROM org_chart";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
$json = [];
while($row = $result->fetch_assoc()) {
    //echo "id: " . $row["id"]. " - Name: " . $row["name"]. " " . $row["amount"]. "
"; $json[]=[ (string)$row["parent"] , (string)$row["child"]]; } echo json_encode($json); } else { echo "0 results"; } $conn->close(); ?>

Sau đây là kết quả tệp PHP trên

[["meraj","azim"],["meraj","masoma"],["meraj","jamal"],["mraj","zainab"],["azim","ajmal"], 
["azim","omid"]]

Và sau đây là tệp chỉ mục của tôi để hiển thị biểu đồ org, nhưng nó không hiển thị bất kỳ trợ giúp nào


    
    
    
    

Document