Foros del Web » Programando para Internet » PHP »

Doble consulta - entrelazar tablas.

Estas en el tema de Doble consulta - entrelazar tablas. en el foro de PHP en Foros del Web. Hola. Hace dias vengo trabajando una aplicacion con php y mysql. Soy nuevo en esto. Pero en realidad tengo una duda. Tengo una tabla que ...
  #1 (permalink)  
Antiguo 29/08/2010, 11:18
 
Fecha de Ingreso: agosto-2010
Mensajes: 6
Antigüedad: 13 años, 8 meses
Puntos: 0
Doble consulta - entrelazar tablas.

Hola. Hace dias vengo trabajando una aplicacion con php y mysql. Soy nuevo en esto. Pero en realidad tengo una duda.

Tengo una tabla que se llama casos. En esa base de datos existe un campo que se llama

radicado(que es un codigo identificativo de uncaso), yo introduzco los casos con un administrador.

Un usuario externo puede crear un caso y al momento de crearlo, el user_ext_crear.php debe hacer

una consulta y buscar todo lo que contenga el campo radicado(introducido tambien por el usuario

externo en un form) y lo enlaza con la base de datos que el administrador introdujo.

Mi pregunta. Como se formularia el query de consulta y de insercion para enlazar estos datos? como

se diseñarian estas tablas?


tabla:
-id
-zona
-ciudad
-radicado-
juzgado
-tipo de juzgado
-numero de juzgado
-tipo de proceso

faltaria alguna tabla para poder enlazar los datos existentes en la base de datos con los que introduce un usuario externo? Les agradezco.
  #2 (permalink)  
Antiguo 26/09/2010, 05:11
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Doble consulta - entrelazar tablas.

A ver si te entiendo, tienes por un lado casos, por el otro juzgados (o similar). El campo de enlace es RADICADO que indica que un caso está radicado en un juzgado o en otro.
Ahora bien, si este es tu caso, las tablas irían más o menos así (adaptalo a tu caso)

TABLE CASOS
caso_id
caso_fecha
caso_autor
...
...
...
caso_idjuzgado (este campo enlaza con la otra tabla)

Tabla juzgados
juzgado_id (referencia a caso_idjuzgado)
juagado_direccion
juzgado_etc
....
...
....

Esta estructura te permite tener una relación N:1, es decir que varios casos están en el mismo juzgado.
Un caso puede estar SÓLO EN UN JUZGADO, mientras que un juzgado puede tener N casos.
Para evitar cualquier tipo de ruptura en la relación, añades una restricción donde se indica que
caso_juzgadoid correponde a juzgado_id. Así, un caso no puede tener un juzgado que no exista en la tabla de juzgados.
Fijate que son los casos los que referencian a los juzgados y nunca al revés.
Ahora bien, una select que te traiga los casos Y la información del juzgado sería así:

SELECT CASOS.*, JUZGADOS.* FROM tabla_casos CASOS
LEFT JOIN tabla_juzgados JUZGADOS ON (CASOS.caso_juzgadoid = JUZGADO.juzgadoid)
WHERE caso_id = '342';
Desde luego es un ejemplo con las tablas de ejemplo, todo esto haz de adaptarlo a tu caso.
Hasta aquí la base de datos, con esta estructura o similar comienza a tirar líneas de código.
Espero haberte sido de ayuda, a ver si te sirve, saludos

Etiquetas: entrelazar, tablas
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 14:06.