For my recent project, i wanted to create a family tree structure for parent-child relationships. After a lot searches, i decided to build it using HTML table.
Lets begin…
First of all, we are going to write a render function which has an array of data to be shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$arrPedigree = array( | |
array( | |
'name' => 'Parent', | |
'children' => array( | |
array( | |
'name' => 'Child 1', | |
'children' => array( | |
array( | |
'name' => 'Sub Child 11', | |
'children' => array( | |
array( | |
'name' => 'Sub Sub Child 111', | |
), | |
array( | |
'name' => 'Sub Sub Child 112', | |
), | |
) | |
), | |
array( | |
'name' => 'Sub Child 12' | |
) | |
) | |
), | |
array( | |
'name' => 'Child 2', | |
'children' => array( | |
array( | |
'name' => 'Sub Child 21' | |
), | |
array( | |
'name' => 'Sub Child 22' | |
) | |
) | |
) | |
) | |
) | |
); |
Finally we need to loop through the array to create the structure and we’ll use some CSS classes to draw some lines for connecting parent to its children.

Download Code Here
This is great. Thank you. I was attempting to do the same thing with a lot less luck.
Hi!
I would like something like this but in horizontal mode!
Do you have an example of that to?
With regards
Marcus
You might have to adjust the existing logic to render them child nodes in columns instead of rows. Or you can just apply CSS transform to rotate it to horizontally.