Perfetto.

Dipende da come è strutturato il database.

Probabilmente hai bisogno di una funzione ricorsiva che dalla pagina corrente va indietro fino alla pagina iniziale.