Si no obtienes respuestas .. tal vez es que no se entienda lo que pretendes hacer.
A veces el código "fuera de contexto" y más cuando forma parte de alguna aplicación medianamente grande .. no suele ser suficiente para "centrar" el problema y la forma que pretendes implementarlo. Ten presente que usas muchas variables que no sabemos ni que llevan cuando toman valor .. usas base de datos que no sabemos la estructura .. etc (esto es aplicable a todas las pregunta que puedas hacer ..)
Así a "groso modo" "parece" (ya estamos haciendo hipotesis de lo que logramos entender o nos pareció lo que vemos) que en nose que campo ni como de tu BD guardas (o deberías guardar):
Cita: segun el tipo de usuario autentificado
Y .. así bajo un "nivel" o tipo de usuario .. tendras que componer tu condicional .. pero tu tabla que guardas tus páginas tendrías que guardar el dato de que "tipo de usuario" (o nivel) puede acceder a ella para contrastar ambos datos: el del "nivel" de tu usuario .. y el del nivel de la página que estás componiendo tus links.
(lo que mas lia de tu pregunta (o por lo menos a mi) es que ya pones algo de código .. cuando lo que te hace falta o parece que es el problema es de "estructura" de tu "modelo de datos" para ver como controlar ese tema de "permisos/niveles de acceso" como para asociar ambos datos (el que tenga otorgado tu usuario y el que tenga otorgado esa página/sección).)
Un saludo,