Pregunta:
Fecha: 31-05-2017 15:46:05
(En Español)
Tablas:
persona
Columna Tipo Nulo
id_persona int(11) No
nombres varchar(40)
apellido varchar(40)
cedula varchar(15) Sí
fecha_nac date Sí
telefono varchar(10)
celular varchar(10) Sí
sexo varchar(15) Sí
correo varchar(80) Sí
year_egreso year(4) Sí
empresa_lab varchar(100)
cargo varchar(20) Sí
direccion_emp varchar(80)
carrera
Columna Tipo Nulo
id_carrera int(11) No
carrera_egre varchar(80) Sí
facultad
Columna Tipo Nulo
id_facultad int(11) No
facultad_egre varchar(80)
relacion
Columna Tipo Nulo
id_persona int(11) No
id_facultad int(11) No
id_carrera int(11) No
Código PHP:
Ayuda para una consulta de 4 tablas [Resuelta]
Buenas comunidad, soy nuevo en php cada dia quiero aprender un poco mas, tengo un proyecto y necesito hacer la consulta con php y mysqli, y no me sale. tengo 4 tablas que son tabla1 "persona", tabla2 "facultad", tabal3 "carrera" y tabla4 "relacion" esta ultima relaciona las 3 primerasTablas:
persona
Columna Tipo Nulo
id_persona int(11) No
nombres varchar(40)
apellido varchar(40)
cedula varchar(15) Sí
fecha_nac date Sí
telefono varchar(10)
celular varchar(10) Sí
sexo varchar(15) Sí
correo varchar(80) Sí
year_egreso year(4) Sí
empresa_lab varchar(100)
cargo varchar(20) Sí
direccion_emp varchar(80)
carrera
Columna Tipo Nulo
id_carrera int(11) No
carrera_egre varchar(80) Sí
facultad
Columna Tipo Nulo
id_facultad int(11) No
facultad_egre varchar(80)
relacion
Columna Tipo Nulo
id_persona int(11) No
id_facultad int(11) No
id_carrera int(11) No
Código PHP:
// Consulta Mysqli donde aplicamos INNER JOIN
$consulta=mysqli_query($conexion,"select pe.nombres,apellido,cedula,fecha_nac,telefono,celular,sexo,correo,year_egreso,empresa_lab,cargo,direccion_emp,fa.facultad_egre,ca.carrera_egre
from relacion AS re
INNER JOIN persona AS pe
ON (re.id_persona= pe.id_persona)
INNER JOIN facultad AS fa
ON (re.id_facultad= fa.id_facultad)
INNER JOIN carrera AS ca
ON (re.id_carrera= ca.id_carrera)
where pe.cedula='$cedula'") or
die("Problemas en el select:".mysqli_error($conexion));
// Navegamos cada fila que devuelve la consulta mysqli y la imprimimos en pantalla
while ($row=mysqli_fetch_array($consulta))
Votos: 0 -
Respuestas: 8 -
Vistas: 11
Compartir en: Google
Facebook
Twitter
LinkedIn
Link
Respuestas:
-
Fecha: 31-05-2017 16:15:08 Hola y Bienvenido
Te recomiendo que mires este enlace, el cual te explica la correcta utilización del mismo y recuerda que siempre primero tienes que poner el nombre de la tabla a la cual se llama y se separa con un punto( . ) y en nombre del campo
Ejemplo:
SELECT *
FROM pedidos INNER JOIN clientes ON pedidos.clie = clientes.numclie
Fuentes:
http://www.aulaclic.es/sql/t_3_4.htm
https://www.campusmvp.es/recursos/post/Fundamentos-de-SQL-Consultas-SELECT-multi-tabla-Tipos-de-JOIN.aspx
http://sql.11sql.com/sql-inner-join.htm
Saludos Votos: 0 - Link respuesta -
Fecha: 01-06-2017 06:50:54 hola y gracias por la respuesta rapida, pero solo quiero que me ayuden como puedo hacer la consulta con las 4 tablas.
gracias Votos: 0 - Link respuesta -
Fecha: 01-06-2017 07:06:56 Hola Francis,
Tendras un fiddle para poder ayudarte? En caso negativo podrias compartir el DDL de tus tablas?
Veo que tienes una relacion muchos a muchos y le falta normalizacion pero definitivamente si compartes el DDL te podremos ayudar mas.
Saludos Votos: 1 - Link respuesta -
Fecha: 01-06-2017 08:41:29 Hola amigo,
No es una respuesta rápida. solo que no veo que tengas bien definido la estructura del INNER JOIN, ya que te falta es ubicar en cual tabla estas llamando a cada campo, como ya te lo dije arriba.
Ejemplo con tu tablas
personas.nombre, persona.apellido y así sucesivamente.
Y te sugiero que uses los BBcodes que están en la parte inferior del TextBox
Saludos Votos: 0 - Link respuesta -
-
Fecha: 06-06-2017 13:15:56 Me prodrian ayudar con un scritpt de confirmacion de elimincacion de registro mysql php
echo "<script> if(confirm('Pulce ACEPTAR para confirmar la eliminacion o CANCELAR la eliminacion')) { window.location.href='eliminar.html'; } else { window.location.href='eliminar.html'; } </script>";Votos: 0 - Link respuesta -
Fecha: 06-06-2017 13:41:13 Hola Francis, si realizas una nueva consulta (que nada tiene que ver con este tema) carga la misma como una nueva pregunta, la idea es mantener un orden, muchas gracias.
>>> Cargar nueva pregunta <<< Votos: 1 - Link respuesta -
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
