Foros del Web » Programando para Internet » PHP »

Mostrar registros

Estas en el tema de Mostrar registros en el foro de PHP en Foros del Web. Hola amigos: tengo un problema para mostar resultados en una tabla, mi tabla esta compuesta por tres filas donde muestro nombre del modulo , su ...
  #1 (permalink)  
Antiguo 04/09/2004, 10:31
 
Fecha de Ingreso: abril-2003
Ubicación: 127.0.0.1
Mensajes: 359
Antigüedad: 21 años
Puntos: 0
Mostrar registros

Hola amigos:

tengo un problema para mostar resultados en una tabla, mi tabla esta compuesta por tres filas donde muestro nombre del modulo , su estado (activo o desactivado) y la otra fila muestro para que tipo de usuario esta activo el modulo.

el problema es en la fila donde muestro para que usuario esta activo el modulo, lo que deseo mostrar es:

por ejemplo si el modulo casa , esta activo para los usuarios tecnicos, personal etc mostrar los usuarios que pueden ver ese modulo.

este lo que he realizado pero no me resulta
Código PHP:
$result mysql_db_query("$base_de_datos","SELECT * from $tabla_usuarios_modulos_zonal where zonal_modulos='$se_zonal'");
while (
$row=mysql_fetch_array($result)){

        
$id_mo=$row[id_modulo];
        
        
$consulta_visible mysql_db_query("$base_de_datos","SELECT * from $tabla_usuarios_modulos_zonal where id_modulo='$id' and zonal_modulos='$se_zonal'");
        
$a 0;
        while (
$row_visible=mysql_fetch_array($consulta_visible)){
            
$activo=$row_visible[activo_para];
            
$id_vi=$row_visible[id];
            if (
$row_visible[estado]==1) {
                
$a 1;
                
$array[]=$row_visible[activo_para];
            
            }
            
        }
        
        if(
$a=="0"){
            
$mostrar="No hay moviles en este Sector";
        } else {    
            
//$mostrar=$activo; 
            
$resultado array_unique($array);
            
$mostrar=implode(', ',$resultado); 
        }
        
/*
        if($resultado==""){
            $mostrar="No hay moviles en este Sector";
        } else {    
            $mostrar=implode(', ',$resultado); 
        }*/ 
__________________
Practicando se Aprede
:-) :-)
  #2 (permalink)  
Antiguo 04/09/2004, 16:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Deberías usar una sóla sentencia SQL para tal fin .. ya que ambas tablas las relacionas por un campo.

No sé que campo es la que relaciona ambas tablas .. pero en SQL puedes hacer consultas SQL que intervengan más de una tabla tipo:

SELECT tabla1.*,tabla2.* FORM tabla1,tabla2 WHERE tabla1.campo_relacion=tabla2.campo_relacion AND tabla?.algun_campo='$alguna_condicion'

Así obtendras sólo los registros que te interesan del conjunto de ambas tablas. Optimizas tu código y mejoras el rendimiento de tu aplicación.

Un saludo,
  #3 (permalink)  
Antiguo 06/09/2004, 14:16
 
Fecha de Ingreso: abril-2003
Ubicación: 127.0.0.1
Mensajes: 359
Antigüedad: 21 años
Puntos: 0
no me resulta cluster no tendras otra idea que me digas.

mejor me voy a explicar mejor para que me entiendas mira, tengo dos tablas donde una almacenos los nombres de los mudolos su estado (activo o desactivado), y en otra tabla almaceno el nombre del modulo, el id del modulo de la tabla anterior y un campo donde se almacena para que usuario es visible el modulo.

es decir lo que quiero hacer que en mi php mostrar los nombres de los modulos, su estado, hasta aqui no tengo problemas, pero cuando quiero mostrar para quien estan visibles tengo problemas, aqui te do la logica.

modulo 1 = visible para profesores
modulo 2 = visible para alumnos
modulo 3 = visible para secretaria, director

pero el resultado que tengo es el siguiente:

modulo 1 = visible para alumnos, profesores, secretaria, director
modulo 2 = visible para alumnos, profesores, secretaria, director
etc....

espero que me entiendas mejor ahora
__________________
Practicando se Aprede
:-) :-)
  #4 (permalink)  
Antiguo 06/09/2004, 14:23
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Si pusieras la estructura de las tablas implicadas y la relación de datos (de estas tablas por el campo que correspondan) guardan .. sería mejor para ver que sulución te acomoda mejor.

Un saludo,
  #5 (permalink)  
Antiguo 06/09/2004, 14:54
 
Fecha de Ingreso: abril-2003
Ubicación: 127.0.0.1
Mensajes: 359
Antigüedad: 21 años
Puntos: 0
imagenes de mis tablas:

tabla 1




tabla 2

__________________
Practicando se Aprede
:-) :-)
  #6 (permalink)  
Antiguo 06/09/2004, 15:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Deberias explicar tu BD y modelo que usas de datos ..

Supongo que en ese "código" que usas de "activo_para" será que guardas ahí "por letra" a que "tipo"? de usuario pertenece ..?

Qué variable o donde guardas al usuario y el grupo o tipo que es el usuario que tienes autentificado en tus páginas? ...

El caso es que tendrías que validar si es que esas "letras" de código de que ususario/grupo pertenece si existe en ese campo "activo_para" ..tratando como tal como un string que es (desde PHP por ejemplo usarndo str_pos() o similar ...). Pero bajo ese esquema .. no sé como "diferencias" los "códigos" repetidos como ese "zonal_modulos" que tienes dos "V" ...

En fin .. como veras es bien complejo dar una solución si no explicas como es tu "modelo de datos" (que tal vez no sea el mejor para lo que pretendes hacer .. Por mi parte normalizaría más el tema..)

Un saludo,
  #7 (permalink)  
Antiguo 06/09/2004, 16:57
 
Fecha de Ingreso: abril-2003
Ubicación: 127.0.0.1
Mensajes: 359
Antigüedad: 21 años
Puntos: 0
no entiendes las ideas que te doy???

no se que a te refieres con normalizar???'

a lo que kiero llegar es al post que esta antes de las imagees de mis tablas . si me funciona bien al mostrar el nombre del modulo y su estado solo el problema es mostrar para quien esta activo el modulo..

he probado almacenando todo el row activa_para en un array, con un while, if etc .
?????
__________________
Practicando se Aprede
:-) :-)

Última edición por necu; 06/09/2004 a las 17:00
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 13:07.