Foros del Web » Programando para Internet » PHP »

Problemas con listas orden y permisos

Estas en el tema de Problemas con listas orden y permisos en el foro de PHP en Foros del Web. Hola, Tengo un problema con un listado que tengo que generar. les comento, tengo una lista que va hacia abajo y al llegar al 5to ...
  #1 (permalink)  
Antiguo 11/05/2011, 13:54
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Pregunta Problemas con listas orden y permisos

Hola, Tengo un problema con un listado que tengo que generar.
les comento, tengo una lista que va hacia abajo y al llegar al 5to icono esta deberia generar una nueva y así sucesivamente, algo como esto

Código PHP:
Ver original
  1. <div align="left" style="position:relative;width:85%;float:left;margin-left:35px;border:1px solid #0F6;">
  2. <ul style="float:left;list-style:none;margin:0px;padding:0px;margin-right:15px;">
  3. <li style="border:1px solid #639; margin-bottom:10px;"><img src="../imagenes/1.png" border="0" /></li>
  4. <li style="border:1px solid #639;margin-bottom:10px;"><img src="../imagenes/2.png" border="0" /></li>
  5. <li style="border:1px solid #639;margin-bottom:10px;"><img src="../imagenes/3.png" border="0" /></li>
  6. <li style="border:1px solid #639;margin-bottom:10px;"><img src="../imagenes/4.png" border="0" /></li>
  7. </ul>
  8. <ul style="float:left;list-style:none;margin:0px;padding:0px;margin-right:15px;">
  9. <li style="border:1px solid #639; margin-bottom:10px;"><img src="../imagenes/5.png" border="0" /></li>
  10. <li style="border:1px solid #639;margin-bottom:10px;"><img src="../imagenes/6.png" border="0" /></li>
  11. <li style="border:1px solid #639;margin-bottom:10px;"><img src="../imagenes/7.png" border="0" /></li>
  12. <li style="border:1px solid #639;margin-bottom:10px;"><img src="../imagenes/8.png" border="0" /></li>
  13. </ul>
  14.  
  15. </div>

Me funciona muy bien el problema viene ahora, resulta que de estos listados hay iconos que se muestran segun los permisos de los usuarios, por ejemplo yo como administrador deberia ver los 10 iconos o sea ambas filas y separadas tal cual estan, pero "pedrito" solo puede ver 3 iconos por lo cual solo podria ver la fila 1 por decir asi, pero haciendolo mas dificil que pasa si pedrito puede ver el icono 1 el 4 y el 7 estos son iconos de distintas filas, entonces mi pregunta es como puedo hacer que por ejemplo tengo los permisos de que icono puede ver cada usuario y respecto a eso voy mostrando el listado y al llegar a 4 me muestre un listado nuevo con los iconos que le corresponde, en el caso que hubiera 3 iconos como pedrito de distintas filas los apile en una sola y ordenados? no se si me explico...
yo creo que una imagen vale mucho mas..



Espero alguien entienda lo que quiero hacer, por que no se por donde empezar :/
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #2 (permalink)  
Antiguo 11/05/2011, 14:04
Avatar de TheoriaX  
Fecha de Ingreso: agosto-2009
Ubicación: Hermosillo, Sonora
Mensajes: 217
Antigüedad: 14 años, 8 meses
Puntos: 5
Respuesta: Problemas con listas orden y permisos

Mira puedes usar $_SESSIONS o sesiones para controlar los permisos y con un SWITCH manejar los listados de acuerdo al tipo de usuario.
__________________
Desarrollador .Net y Php
MCTS Framework 2.0:Windows Applications
Microsoft Certificated Profesional
  #3 (permalink)  
Antiguo 11/05/2011, 14:26
Avatar de _-ZeuS-_  
Fecha de Ingreso: junio-2007
Ubicación: Quito, Ecuador! ;)
Mensajes: 100
Antigüedad: 16 años, 10 meses
Puntos: 7
Respuesta: Problemas con listas orden y permisos

es muy buena idea la de TheoriaX en realidad le veo como la única forma en la que puedes controlar eso. quedaría algo como

$tipoUsuario=$_SESSION["tipo"];
switch ($tipoUsuario){
case "Administrador": <mostrar iconos y lineas de administrador>
case "OtroUsuario": <mostrar contenido de otros usuarios>
}

todo lo puedes ir guardando en un string que lo vas concatenando y al final lo muestras.
  #4 (permalink)  
Antiguo 11/05/2011, 14:48
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: Problemas con listas orden y permisos

ya lo habia pensado asi, el tema es que hay muchos usuarios y muchas categorias o iconos tendria que hacer muchos case para el switch, por ejemplo tengo

usuario1 = 1, 2, 7, 8
usuario2 = 2, 3, 5, 8
usuario3 = 1, 2, 3, 4
usuario4 = 1, 2, 3, 4, 5, 6, 7, 8
usuario5 = 5, 8

y asi todas las combinaciones habidas y por haber :/
voy a darle otra vuelta haber si se me ocurre otra cosa, gracias.
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #5 (permalink)  
Antiguo 11/05/2011, 15:47
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 18 años, 6 meses
Puntos: 56
Respuesta: Problemas con listas orden y permisos

si nos muestras el código en donde creas las listas te podemos ayudar
__________________
►I'm a devil on the run ♂
Jcxnet.com
*Keep It Simple **
  #6 (permalink)  
Antiguo 11/05/2011, 16:43
Avatar de Uncontroled_Duck
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Málaga [Spain]
Mensajes: 806
Antigüedad: 12 años, 11 meses
Puntos: 261
Respuesta: Problemas con listas orden y permisos

Le has echado un vistazo a esto?
http://www.forosdelweb.com/wiki/PHP:Gestión_de_usuarios_bit_a_bit

Saludos,
__________________
Todos agradeceremos que pongas el código en su respectivo Highlight
  #7 (permalink)  
Antiguo 11/05/2011, 22:17
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Problemas con listas orden y permisos

Creo que tendrias que guardar las opciones en una matriz, mas o menos asi:

Código PHP:
Ver original
  1. $opciones = array(
  2.     array('url', 'imagen', nivel_rol_o_permiso),
  3.     array('url', 'imagen', nivel_rol_o_permiso),
  4.     array('url', 'imagen', nivel_rol_o_permiso),
  5. );
  6.  
  7. // Luego para crear la lista
  8. echo "<ul>\n";
  9. $numero = 0;
  10. foreach($opciones as $opcion) {
  11.     if($opcion[2] == $permiso_segun_el_usuario) { // Verificas si el permiso es correcto
  12.          if($numero == 5) {
  13.               echo "</ul><ul>\n"; // Creas la nueva lista
  14.               $numero = 0;
  15.          }
  16.          echo "<li><a href=\"{$opcion[0]}\n"><img src=\"{$opcion[1]}\" /></a></li>\n";
  17.          $numero ++;
  18.     }
  19. }
  20. echo "</ul>\n";
__________________
- León, Guanajuato
- GV-Foto
  #8 (permalink)  
Antiguo 11/05/2011, 23:22
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 2 meses
Puntos: 260
Sonrisa Respuesta: Problemas con listas orden y permisos

Hola,

Si los usuarios cambian o los permisos cambian frecuentemente sería aconsejable que almacenaras todo en una base de datos,



Con esta estructura obtendrías consistencia y facilidad para mostrar y validar los permisos de los usuarios de la manera que se te ocurra en cualquier momento.

Código PHP:
Ver original
  1. $result = mysql_query('
  2.     select a.codusu, a.nombre, b.codper, c.imagen
  3.     from `pedrito`.`usuarios` a
  4.     inner join `pedrito`.`permisos_usuarios` b on a.codusu = b.codusu
  5.     inner join `pedrito`.`permisos` c on b.codper = c.codper
  6.     where a.codusu = 1;
  7. ');
  8. $i = 1;
  9. echo '<ul>';
  10. while ($data = mysql_fetch_assoc($result)) {
  11.     if ($i++ % 6 == 0) echo '</ul><ul>'; // cambia de lista cada 6
  12.     echo '<li>' . $data['imagen'] . '</li>';
  13. }
  14. echo '</ul>';

En ese caso solamente va a mostrar las imágenes de los permisos que tiene el usuario 1 en una, dos o más listas según sea necesario. Para agregar el concepto de grupos de trabajo tendrías que agregar tres tablas mas.

Saludos,

Última edición por HackmanC; 11/05/2011 a las 23:48 Razón: el símbolo de porcentaje (residuo)

Etiquetas: listas, orden, permisos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:07.