q tal esto? (hecho `on the fly`, puede tener errores :D )
Código PHP:
$sql="SELECT * FROM `menu`";
$consulta=mysql_query($sql,$link);
while($dato=mysql_fetch_array($consulta)) {
$menu[$datos['id_padre']].[$datos['id']]=$datos['nombre'];
}
Con esto obtendriais la `extructura` del menu. Solo faltaria listarlo. No sé si veis por donde van los tiros ^^
PD: es una sugerencia, seria con una tabla tipo
id | id_padre | nombre
que no hace falta id_hijo
id deberia ser autonumerico ^^
Explicación para mostrar el menu:
Si no tiene "padre", este id deberia ser 0 (al insertar en la base) con lo cual le diriais que está en la raiz