Det kan vara bäst att först omvandla detta till en trädtypsstruktur:
Menu Top
|
Nodes with NULL p_id
|
Children
Du kan göra detta genom att skapa en MenuNode-klass som har en rad barn. Du behöver inte göra det på det sättet, men det kommer att göra det mycket lättare att skapa en rekursiv funktion för att mata ut menyn.