PHP - ¿Cómo construir una lista de estructura de árbol?

Entonces, mi problema es que quiero construir un árbol de estas 2 tablas:

Parent table:
+-------+---------------+
| pr_id |  parent_name  |
+-------+---------------+
|   1   |       p       |
|   2   |      p_0      | 
|   3   |     p_0_1     | 
|   4   |       q       | 
+-------+---------------+

Child table:
+-------+---------------+---------------------------+
| ch_id |     pr_id     |        child_name         |
+-------+---------------+---------------------------+
|   1   |       1       |            p_0            |
|   2   |       1       |            p_1            |
|   3   |       2       |           p_0_0           |
|   4   |       2       |           p_0_1           |
|   5   |       3       |          p_0_1_0          |
|   6   |       3       |          p_0_1_1          |
|   7   |       4       |            q_0            |
|   8   |       4       |            q_1            |
+-------+---------------+---------------------------+

Y el árbol debería verse así:

pp_0p_0_0p_0_1p_0_1_0p_0_1_1q

¿Alguien puede ayudarme con una solución recursiva?

Respuestas a la pregunta(1)

Su respuesta a la pregunta