tabla_carpetas
id_carpeta
nombre
id_carpeta_padre
nivel
donde "id_carpeta_padre" es una FK referenciando "id_carpeta" de la misma tabla y nivel te indica el nivel en el arbol de carpetas,
nivel es igual a nivel de la carpeta padre mas 1.
nivel=0 ---> id_carpeta_padre IS NULL
nivel=1 ---> id_carpeta_padre es una carpeta de nivel 0
nivel=2 ---> id_carpeta_padre es una carpeta de nivel 1
....
Ahora bien para listar necesitaras programación externa
Basicamente es el mismo problema que un menu con categorias y subcategorias
http://www.forosdelweb.com/f86/probl...2/#post4559088 aqui tienes la estrategia de programación, en tu caso el campo orden sera el nombre de la carpeta y se ordenaran alfabeticamente. (Usa IFNULL(id_carpeta_padre,0) para pasar de null a cero)