Ver Mensaje Individual
  #10 (permalink)  
Antiguo 16/05/2018, 10:09
ocp001a
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 7 meses
Puntos: 528
Respuesta: Usar datos de resultado de Query, fuera del While

Bien, entonces, si no entendí mal, en tu menu.php tienes varias listas de menú predefinidas.

De ser así, no lo veo muy práctico, y en cambio te recomiendo generar el menú con base en los permisos de usuario en tiempo real, es decir, podrías guardar los permisos del usuario en una variable de sesión, y en el php (o javascript) tener una función que genere el menú según los permisos dados.

Yo tengo un sistema de permisos de la siguiente forma:

En mi sistema hay secciones, dentro de las secciones módulos, cada módulo puede tener de 1 a 10 pestañas, y dentro de cada pestaña pueden hacer 4 acciones: Guardar, modificar, borrar y reportear.
Obviamente habrá pestañas que no hagan las 4 acciones, pero así se puede generalizar.

Tengo una tabla donde registro los módulos y sus pestañas.

Así, se puede definir menús de forma ilimitada, estableciendo perfiles de usuario, y asignando a cada usuario un perfil/menú.

Si un día se necesita que a un usuario se le defina más o menos permisos, se modifica su perfil o se crea un perfil especial para el usuario.

En el login, se carga la lista de permisos del perfil ligado al usuario y se guarda en sesión.

Le paso el arreglo con los permisos a javascript mediante JSON, y ahí tengo una función que dibuja el menú, organizado por secciones y módulos.

Dentro del sistema, cada módulo sólo necesita leer los permisos del usuario para dicho módulo, por ejemplo:

módulo catálogo de clientes:
Código PHP:
Ver original
  1. if(!isset($usuario['permisos']['cat_clientes']))
  2.    die('No tiene permitido entrar a este modulo');
  3. if($usuario['permisos']['cat_clientes']['pes1']==1)
  4.    //dibujar pestaña 1
  5. if($usuario['permisos']['cat_clientes']['pes2']==1)
  6.    //dibujar pestaña 2

Espero que esto te ayude en algo. De lo contrario , te sugiero describir con más detalle cómo dibujas el menú, con el código que llevas para tartar de ayudarte de manera más específica.