Foros del Web » Programando para Internet » PHP »

Problema con relación detablas

Estas en el tema de Problema con relación detablas en el foro de PHP en Foros del Web. hola tengo 2 tablas relacionadas por el id_modulo, en la tabla módulos tengo 2 nombres de modulo, estrategias(id_modulo 1) proceso(id_modulo 2) módulos id_modulo nombre_modulo en ...
  #1 (permalink)  
Antiguo 11/10/2012, 17:33
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 9 meses
Puntos: 1
Problema con relación detablas

hola tengo 2 tablas relacionadas por el id_modulo, en la tabla módulos tengo 2 nombres de modulo,

estrategias(id_modulo 1)
proceso(id_modulo 2)


módulos

id_modulo
nombre_modulo




en la tabla taller tengo lo sigueinte,
operacion(id_modulo1)
cambio(id_modulo1)
antecendentes(id_modulo2)
estudio(id_modulo2)


taller
id_taller
nombre_taller
id_modulo



el problema es al imprimir, la tabla módulos solo nesecito que se muestren los talleres relacionados al id_modulo 1, sin embargo me muestra todos los talleres incluido los del id_modulo2, como puedo indicar que solo me muestre el contenido del modulo según su id, si muestro el contenido del modulo id_modulo1 solo que imprima los talleres relacionados a ese id al id_modulo1 y si muestro el contenido del id_modulo2 que muestre los talleres relacionados con el id_modulo2

espero que se entienda y me ayuden el problema es en el select como hacer la consulta correcta.

gracias.
  #2 (permalink)  
Antiguo 11/10/2012, 18:58
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 15 años
Puntos: 168
Respuesta: Problema con relación detablas

si no mostras como haces la consulta, es complicado adivinar
  #3 (permalink)  
Antiguo 11/10/2012, 19:22
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 9 meses
Puntos: 1
Respuesta: Problema con relación detablas

ok esta es la tabla taller quese vincula con le id_modulo dela tabla modulos, si nesecitan otro dato avisan.

Código PHP:
Ver original
  1. <?php
  2. $consultaTaller = "SELECT * FROM taller_curso as tc, modulos_curso as mc WHERE tc.id_modulo = mc.id_modulo AND mc.estado='A'";
  3. $resultadoTaller = mysql_query($consultaTaller);
  4.  
  5. ?>
  #4 (permalink)  
Antiguo 11/10/2012, 19:45
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 9 meses
Puntos: 1
Respuesta: Problema con relación detablas

asi imprimo los resultados
Código PHP:
Ver original
  1. <?php
  2.         while($filaTaller = mysql_fetch_array($resultadoTaller)){
  3.         $id_taller = $filaTaller['id_taller'];
  4.         $nombre_taller = $filaTaller['nombre_taller'];
  5.         $descripcion_taller = $filaTaller['descripcion_taller'];
  6.         $imagen_taller = $filaTaller['imagen_taller'];
  7.         ?>
  8.       <span class="contiene-thumbs">
  9.       <h3><?php echo $nombre_taller; ?></h3>
  10.       <p><a href="taller-cursos.php?id_taller="><img src="videos/imagenes/<?php echo $imagen_taller; ?>" width="149" height="79" border="0" class="thumbs"></a> <?php echo $descripcion_taller; ?> <br/>
  11.      
  12.         </p>
  13.         </span>
  14.         <?php }?>
  #5 (permalink)  
Antiguo 11/10/2012, 19:53
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 15 años
Puntos: 168
Respuesta: Problema con relación detablas

y si no haces referencia a de que tabla queres que se muestren los datos es complicado, usas * asi nomas como si usaras 1 sola tabla, pero tenes 2 en el from, el manejador no sabe de cual vienen esos campos que queres mostrar.
ejemplo:
Código PHP:
Ver original
  1. $consultaTaller = "SELECT modulos_curso.* FROM taller_curso as tc, modulos_curso as mc WHERE tc.id_modulo = mc.id_modulo AND mc.estado='A'";

en este caso indique que los campos a mostrar son de la tabla modulos_curso.
Ahora adaptalo a tu manera
  #6 (permalink)  
Antiguo 11/10/2012, 19:56
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 9 meses
Puntos: 1
Respuesta: Problema con relación detablas

ok gracias hare las prueba e indico, probareque tal me va.
  #7 (permalink)  
Antiguo 11/10/2012, 19:58
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 15 años
Puntos: 168
Respuesta: Problema con relación detablas

No se si es realmente lo que queres hacer en esa consulta, pero ya te digo que si usas mas de 1 tabla y no indicas de que tabla queres ver los campos, se complica
  #8 (permalink)  
Antiguo 12/10/2012, 08:11
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 9 meses
Puntos: 1
Respuesta: Problema con relación detablas

lo que quiero mostrar son los datos de la tabla taller_curso, pero esta tabla esta relacionada con la tabla modulos, esta tabla modulos puede tener varios contenidos o nombres y asu bes este genera su id por cada dato de la tabla modulo que seria id_modulo 1, id_modulo2 y asi correcto, la tabla taller tiene datos pero se realciona con estos id de la tabla modulos, al mostrar los datos de la tabla taller e indicarle que solo me muestre los datos de la tabla taller_curso que estan realcionados con el id modulo 1, pero en este caso me muestra los datos tambien del id_modulo 2 lo que deseo es que se meustren los datos de acuerdo al id que se escoja no se si se entiende, tu ejemplo de consulta lo probe de varias formas y no me da el resultado al contrario me borra todos los datos o no me muestra resultados espero se entienda.

Última edición por cualquiera; 12/10/2012 a las 08:22
  #9 (permalink)  
Antiguo 12/10/2012, 09:25
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 9 meses
Puntos: 1
Respuesta: Problema con relación detablas

mira para tener una mejor idea pongo una imagen la consulta de la tabla taller_curso trae estos resultados, haste el tema 5, esos contneidos pertencen al id_modulo1, el cuadro suguiente que esta vacio quedice nuevo, tambien pertenece a la tabla taller, pero tiene el id_modulo2, lo que deso es que solo se muestren los datos por id, en este caso solo los que tienen el id_modulo1, si se cambia o se selecciona los modulos que tenga los datos con el id_modulo2 que muesten los del id_modulo2, pero en esta caso me muestra los datos del id_modulo1 y del id_modulo2
espero que ahora si quede mas claro gracias.
  #10 (permalink)  
Antiguo 12/10/2012, 10:36
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 15 años
Puntos: 168
Respuesta: Problema con relación detablas

Código SQL:
Ver original
  1. $consulta = SELECT t.id_taller, t.nombre_taller, t.id_modulo FROM taller t, modulos m WHERE t.id_modulo = m.id_modulo
Con esta consulta mostras los datos id_taller, nombre_taller e id_modulo de la tabla taller, DONDE el id_modulo de la tabla TALLER sea igual al id_modulo de la tabla MODULOS

eso querés hacer?
  #11 (permalink)  
Antiguo 12/10/2012, 10:48
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 9 meses
Puntos: 1
Respuesta: Problema con relación detablas

claro, lo que busco es condicionar que me muestre los resultados de la tabla taller por el id modulo relaciondo, pero como explico si cargo los contneidos de la tabla taller que estan relacionados con el modulo 1 cargan pero tambien me cargan los del id_modulo2 y lo que quiero es que se muestre por id consultado, los campos dela tabla taller son estos
Código PHP:
Ver original
  1. id_taller  nombre_taller  descripcion_taller  imagen_taller id_modulo  estado

y los campos de la tabla modulo son los sigueintes
Código PHP:
Ver original
  1. id_modulo  nombre_modulo

no se si con el ejemplo que me pones cumple esa condicion o lo que explico probare con lo queme dejas. pero te dejo los campos para que veas la relacion entre ambas tablas.

Gracias voy a probar
  #12 (permalink)  
Antiguo 12/10/2012, 11:08
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 9 meses
Puntos: 1
Respuesta: Problema con relación detablas

Hola gracias estoy probando con tu consulta, y es la misma idea que creo tener trato de igualar el id_modulo a la tabla taller y la tabla modulo en tu consulta me pones eso que se igualen por el id_modulo en mi primera consulta hago lo mismo solo que yo puse que me muestre todos los campos con el '*' en este caso me estas inidcando que seleccione loscampos directos, pero de igual forma adapte tu consulta, si me cargan los datos, pero sigue el mismo problema sigue mostrando los datos del id_modulo1 y del id_modulo2, no pudeo condicionar que solo me muestre el resultado por el id_modulo, que mas se podria probar gracias por la ayuda.
  #13 (permalink)  
Antiguo 12/10/2012, 11:27
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 9 meses
Puntos: 1
Respuesta: Problema con relación detablas

hola otro alcanze si yo fuerzo en la consulta que la tabla taller sea igual al id_modulo 1 si me funciona solo me cargan los datos del id_modulo 1 haciendolo de esta forma, pero eso no es exactamente lo que quiero por que quiero que sea automatico, es decir si se inactiva el id_modulo1, que cargue el id_modulo sigueinte en este caso seria el id_modulo_2 y asi, con esta consulta logro que solo se muestre los del id_modulo1, pero creo que estoy forzando a ello y no es lo quiero, pero para tener mas ideas dejo el select a ver que mas se podria probar gracias.

Código PHP:
Ver original
  1. <?php
  2. $consultaTaller = "SELECT * FROM taller_curso WHERE id_modulo = 1 AND estado='A'";
  3. $resultadoTaller = mysql_query($consultaTaller);
  4. ?>
  #14 (permalink)  
Antiguo 12/10/2012, 11:44
ruben_chirinos_1985
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con relación detablas

La verdad no entendi nada lo q tu quieres es q se cambie al momento del id=1 si este es eliminado por el id=2
  #15 (permalink)  
Antiguo 12/10/2012, 11:48
Avatar de Javier01  
Fecha de Ingreso: febrero-2008
Ubicación: Montevideo
Mensajes: 261
Antigüedad: 16 años, 9 meses
Puntos: 31
Respuesta: Problema con relación detablas

Buenas tardes,

Primero: deberías pasar lo que escribes por un corrector ortográfico, además intenta expresarte mejor.
Es muy difícil entender que es lo que precisas.

Explica que resultado quieres obtener, y luego vemos cual es la mejor forma de llegar a eso.

Saludos
__________________
Tomarse un tiempo para redactar correctamente la pregunta, utilizando los signos de puntuación adecuados, es ganar tiempo y calidad en la respuesta.
  #16 (permalink)  
Antiguo 12/10/2012, 11:56
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 9 meses
Puntos: 1
Respuesta: Problema con relación detablas

la tabla modulos, tiene contenido digamos nombres o titulos, y cada uno de ellos automaticamente como sabemos, el id se genera autoincrement, entonces yo puedo tener 2 titulos en la tabla modulo, entonces tendria 2 id_modulos y 2 titulos

etonces en la tabla taller yo quiero crear temas por ejemplo 5 temas de deportes, y 5 temas de politica

entonces en la tabla modulos el primer titulo seria deportes que tendria el id_modulo1
y el segundo titulo seria politica que tendria el id_modulo2 y asi.

entonces los 5 temas de deportes iran realcionados con el id_modulo1 que es de deportes en la tabla modulos.

y los otros 5 temas de politicas iran realcionados con el id_modulo2 que es de politica, en la tabla modulos.

se entiende entonces a la hora de hacer la consulta al llamar la tabla taller, quiero que me muestre los contenidos de deportes, que en este caso es el id_modulo1, y si quiero politica que muestre el id_modulo2 que tiene los contenidos de politica, a hora estos modulos se pueden activar o inactivar, si ianctivo 1 modulo, por defecto quedaria el siguente modulo espero se entienda gracias.
  #17 (permalink)  
Antiguo 12/10/2012, 12:39
Avatar de Javier01  
Fecha de Ingreso: febrero-2008
Ubicación: Montevideo
Mensajes: 261
Antigüedad: 16 años, 9 meses
Puntos: 31
Respuesta: Problema con relación detablas

¿Y en donde es que se activan o desactivan los modulos? puesto que en la tabla modulo no tienes si esta activo o no.
__________________
Tomarse un tiempo para redactar correctamente la pregunta, utilizando los signos de puntuación adecuados, es ganar tiempo y calidad en la respuesta.
  #18 (permalink)  
Antiguo 12/10/2012, 12:44
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 9 meses
Puntos: 1
Respuesta: Problema con relación detablas

estos son los campos de la tabla modulos
Código PHP:
Ver original
  1. id_modulo  nombre_modulo  fecha_inicio  fecha_fin estado
  #19 (permalink)  
Antiguo 12/10/2012, 12:50
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 9 meses
Puntos: 1
Respuesta: Problema con relación detablas

el problema radica en, en consultar la tabla taller, le inidco que cargue los contenidos que tiene realcionados el id_modulo1 en realidad la consulta muestra si los resultados del id_modulo1, pero tambien muestra los datos del id_modulo2, lo que quiero es o como condicionar que los datos mostrados, sean segun el id realcionado de la tabla modulos con la tabla taller.
  #20 (permalink)  
Antiguo 12/10/2012, 13:43
Avatar de Javier01  
Fecha de Ingreso: febrero-2008
Ubicación: Montevideo
Mensajes: 261
Antigüedad: 16 años, 9 meses
Puntos: 31
Respuesta: Problema con relación detablas

Las condiciones son las que se colocan en los WHERE.
En algun momento necistas pasarle a la consulta el ID del modulo que quieres mostrar.
No se, tal vez podria ser algo como:
Código MySQL:
Ver original
  1. SELECT * FROM taller_curso tc INNER JOIN modulos_curso mc ON tc.id_modulo = mc.id_modulo
  2. WHRE  mc.id_modulo = 1
__________________
Tomarse un tiempo para redactar correctamente la pregunta, utilizando los signos de puntuación adecuados, es ganar tiempo y calidad en la respuesta.
  #21 (permalink)  
Antiguo 12/10/2012, 16:34
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 9 meses
Puntos: 1
Respuesta: Problema con relación detablas

Bueno, asi funciona, lla lo habia planteado si le indico en el where que sea 1 me da problemas al inactivar por que el id_modulo 1 se pude inactivar, y al quedar inactivo como en la condicion esta id_modulo 1 el siguiente que seria id_modulo2 no se mostraria el contenido del id_modulo2 por que la condicion lo limita al modulo 1, no se si se entiende, pero no lo puedo condicionar asi tal vez usar un if dentro de la consulta que inidque si el id_modulo es el que queda activo que muestre su contenido, bueno tiro ideas, pero es la ayuda que necesito, como lo podria plantear lo que me sugieren ya lo he probado, y no tengo resultados, es por eso la consulta al foro, si se podria hacer de alguna otra manera

Gracias.
  #22 (permalink)  
Antiguo 12/10/2012, 17:07
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 9 meses
Puntos: 1
Respuesta: Problema con relación detablas

o tal vez el problema no sea tanto en el select, hay un while donde se imprime los resultados de la tabla taller tal vez se le puda condicionar al while, que si es == id_modulo, que imprima el id_modulo corresponduiente, bueno dejo el while

Código PHP:
Ver original
  1. <?php
  2.         while($filaTaller = mysql_fetch_array($resultadoTaller)){
  3.         $id_taller = $filaTaller['id_taller'];
  4.         $nombre_taller = $filaTaller['nombre_taller'];
  5.         $descripcion_taller = $filaTaller['descripcion_taller'];
  6.         $imagen_taller = $filaTaller['imagen_taller'];
  7.         ?>

Etiquetas: tabla
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 22:26.