Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Unir datos de dos tablas en php y mysql

Estas en el tema de Unir datos de dos tablas en php y mysql en el foro de PHP en Foros del Web. Buenos días tomando como referencia el post http://www.forosdelweb.com/f18/como-enlazar-dos-tablas-con-php-mysql-376022/ tengo un problema parecido el cual hasta ahora no he podido solucionar el código que tengo es ...
  #1 (permalink)  
Antiguo 23/03/2016, 11:16
 
Fecha de Ingreso: marzo-2016
Mensajes: 12
Antigüedad: 3 años, 5 meses
Puntos: 0
Unir datos de dos tablas en php y mysql

Buenos días tomando como referencia el post http://www.forosdelweb.com/f18/como-enlazar-dos-tablas-con-php-mysql-376022/

tengo un problema parecido el cual hasta ahora no he podido solucionar el código que tengo es el siguiente:
Código PHP:
<?PHP
$terminobusqueda
=$_POST["terminobusqueda"];
$local=$_POST["local"];
include (
"conexion.php");
conecta();
$consulta "select * from notas where MP_MAT_ID = ".$terminobusqueda." ORDER BY DESCRIPCION;";
//echo $consulta;
$resultado mysql_query($consulta);
$num_resultados mysql_num_rows($resultado);
?>
con el término búsqueda, muestra el código con el que se ingresa y luego compara en la tabla notas para mostrarlos a continuación con el código de abajo, lo que quiero hacer es unir los datos con una tabla nueva, la cual tiene los datos del apoderado y mostrarlos en el formulario php, como hago por ejemplo con el nombre nombre:

Código PHP:
<?PHP echo stripslashes($row["ALUMNO"]);?>
como podría hacerlo? estaré muy agradecido por tomar su tiempo en responder este humilde post
  #2 (permalink)  
Antiguo 23/03/2016, 11:53
 
Fecha de Ingreso: noviembre-2014
Ubicación: guadalajara
Mensajes: 18
Antigüedad: 4 años, 10 meses
Puntos: 0
Respuesta: Unir datos de dos tablas en php y mysql

Hola pon tu otra tabla y te ayudo para saber que datos quieres de cada tabla
  #3 (permalink)  
Antiguo 23/03/2016, 14:34
Avatar de rbczgz  
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 15 años, 9 meses
Puntos: 154
Respuesta: Unir datos de dos tablas en php y mysql

Hola krizzh,

Si tienes acceso a PHPMyAdmin o WordBench o algo similar, ejecuta estas consultas y postea los resultados para que podamos ver la estructura de tus tablas y así ayudarte mejor:

Código SQL:
Ver original
  1. SHOW CREATE TABLE notas;
  2. SHOW CREATE TABLE nombre_de_tu_otra_tabla;

Eso te sacará por pantalla la estructura de esas dos tablas, que es algo necesario para poder ayudarte, sea yo o cualquier otro compañero.
  #4 (permalink)  
Antiguo 23/03/2016, 16:36
 
Fecha de Ingreso: marzo-2016
Mensajes: 12
Antigüedad: 3 años, 5 meses
Puntos: 0
Respuesta: Unir datos de dos tablas en php y mysql

Hola gracias por prestar su atención en mi inquitud, tengo un formulario de "validación" con la sgte consulta:
Código PHP:
 <?PHP

  $usu
=$_POST["terminobusqueda"];

  
$pass=$_POST["pass"];

  
$tip=$_POST["tip"];
  
  
$TRIMESTRE=$_POST["TRIMESTRE"];

  include (
"conexion.php");

  
conecta();

  

  
$consulta "select MP_MAT_ID, MP_ALU_CONTRASENIA, MP_NIV_NIVEL FROM alumnos_matricula where MP_MAT_ID= '".$usu."' and MP_ALU_CONTRASENIA= '".$pass."';"

  
//echo $consulta;

  
$resultado mysql_query($consulta);

  
$num_resultados mysql_num_rows($resultado);

  
$row mysql_fetch_array($resultado);

  if (
$num_resultados>=&& $TRIMESTRE!="")
          if (
$row["MP_NIV_NIVEL"]=='PRIMARIA' &&            $TRIMESTRE=="SELECCIONAR")
             
$pag="seleccionarunidad.php";
          if (
$row["MP_NIV_NIVEL"]=='PRIMARIA' && $TRIMESTRE=="01")
             
$pag="notas.php";
    else {
          if (
$pass != $row["MP_ALU_CONTRASENIA"]){
          
$pag="invalido.php";
        }
}
?>
el show create de mi tabla notas es:
Código:
'notas', 'CREATE TABLE `notas` (
  `Expr2` varchar(255) default NULL,
  `AULA` varchar(255) default NULL,
  `NRO_ORDEN` int(11) default NULL,
  `MP_MAT_ID` int(11) default NULL,
  `ALUMNO` varchar(255) default NULL,
  `IDCURSO` int(11) default NULL,
  `DESCRIPCION` varchar(50) default NULL,
  `T1C1N1` int(11) default NULL,
  `T1C1N2` int(11) default NULL,
  `T1C1N3` int(11) default NULL,
  `T1PC1` int(11) default NULL,
  `T1C2N1` int(11) default NULL,
  `T1C2N2` int(11) default NULL,
  `T1C2N3` int(11) default NULL,
  `T1PC2` int(11) default NULL,
  `T1C3N1` int(11) default NULL,
  `T1C3N2` int(11) default NULL,
  `T1C3N3` int(11) default NULL,
  `T1PC3` int(11) default NULL,
  `T1ETC1` int(11) default NULL,
  `T1ETC2` int(11) default NULL,
  `T1ETC3` int(11) default NULL,
  `T1PET` int(11) default NULL,
  `T1P` int(11) default NULL,
  `ACT_COD` int(11) default NULL,
  `CODIGO` int(11) default NULL,
  `ANIO` int(11) default NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1'
el show create de mi segunda tabla es:
Código:
'alumnos_matricula', 'CREATE TABLE `alumnos_matricula` (
  `MP_NIV_ID` int(11) default NULL,
  `MP_MAT_ID` int(11) default NULL,
  `ALUMNO` varchar(255) default NULL,
  `AULA` varchar(255) default NULL,
  `MP_ALU_FOTO` varchar(100) default NULL,
  `MP_ALU_ID` int(11) default NULL,
  `MP_MAT_ESTADO` varchar(30) default NULL,
  `MP_ALU_SEXO` varchar(1) default NULL,
  `MP_ALU_CONTRASENIA` varchar(30) default NULL,
  `MP_ANIO_NOMBRE` int(11) default NULL,
  `MP_GRA_GRADO` int(11) default NULL,
  `MP_SEC_NOMBRE` varchar(1) default NULL,
  `MP_NIV_NIVEL` varchar(30) default NULL,
  `MP_APO_APELLIDOS` varchar(255) default NULL,
  `MP_APO_NOMBRES` varchar(255) default NULL,
  `MP_APO_CELULAR` int(11) default NULL,
  `MP_APO_EMAIL` varchar(255) default NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1'
Y lo que quiero es hacer una consulta la cual pueda unir datos de ambas tablas según el MP_MAT_ID, para sacar MP_APO_APELLIDOS, MP_APO_NOMBRES, MP_APO_CELULAR y MP_APO_EMAIL

Otra vez agradecerles por tomar su tiempo
  #5 (permalink)  
Antiguo 24/03/2016, 05:27
Avatar de rbczgz  
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 15 años, 9 meses
Puntos: 154
Respuesta: Unir datos de dos tablas en php y mysql

Hola krizzh,

Por lo que veo en tu código, todos los datos que obtienes y los que deseas obtener están en la misma tabla (alumnos_matricula), en cuyo caso, no necesitas unir las dos tablas.

Ahora bien, si lo que deseas es obtener más datos de la tabla "notas", lo que debes hacer es utilizar INNER JOIN, y (si no me equivoco) es necesario que el campo por el que vas a hacer la unión no pueda ser NULL.

Un ejemplo de consulta con INNER JOIN teniendo en cuenta el campo que tienes en común:

Código SQL:
Ver original
  1. SELECT
  2.     a.campo1,
  3.     a.campo2,
  4.     a.campo3,
  5.     n.campo4,
  6.     n.campo5
  7. FROM alumnos_matricula AS a
  8. INNER JOIN notas AS n
  9. ON a.MP_MAT_ID = n.MP_MAT_ID
  10. WHERE tu_condición;

A partir de ahí, creo que puedes seguir tú. Espero haberte ayudado.
  #6 (permalink)  
Antiguo 28/03/2016, 06:46
 
Fecha de Ingreso: marzo-2016
Mensajes: 12
Antigüedad: 3 años, 5 meses
Puntos: 0
Respuesta: Unir datos de dos tablas en php y mysql

Hola rbczgz, gracias por tomar tu tiempo en responder, en realidad de la tabla matricula saco los datos del alumno tanto como nombres entre otros y con la tabla notas es alli con ese código de matricula saco las notas, es por ello que mi formulario login primero busca una tabla matriculas para verificar la información y luego de ello pasa al 2do formulario donde muestra los datos de la tabla notas, es alli donde quiero vincular las 2 tablas, para que no solo me muestre los datos de los calificativos, sino también los datos de la primera tabla, hago eso ya que la segunda tabla esta en constante modificaciones
  #7 (permalink)  
Antiguo 28/03/2016, 07:20
Avatar de rbczgz  
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 15 años, 9 meses
Puntos: 154
Respuesta: Unir datos de dos tablas en php y mysql

Hola krizzh,

Pues para lo que necesitas, debería servirte mi respuesta anterior. Espero que así sea.
  #8 (permalink)  
Antiguo 28/03/2016, 10:22
 
Fecha de Ingreso: marzo-2016
Mensajes: 12
Antigüedad: 3 años, 5 meses
Puntos: 0
Respuesta: Unir datos de dos tablas en php y mysql

Hola rbczgz, me creerás que ya había probado la consulta antes pero no me mostraba los datos en el formulario? pero si en la consulta y pues... revisando el dichoso formulario el error era que yo estaba jalando los datos a una tabla
Código PHP:
<?PHP echo stripslashes($row["MP_APO_NOMBRES"]);?>
antes del:

Código PHP:
<?PHP
    
for ($i=0$i <1$i++)
    {
    
$row mysql_fetch_array($resultado);
   
?>
Ya corregí el error y se ve todo bien, gracias a todos por tomar su tiempo en toda la ayuda que me brindaron
  #9 (permalink)  
Antiguo 28/03/2016, 14:10
Avatar de rbczgz  
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 15 años, 9 meses
Puntos: 154
Respuesta: Unir datos de dos tablas en php y mysql

Hola krizzh,

Lo importante es que ya te funciona, me alegro de que sea así.

Etiquetas: formulario, mysql, select, sql, tabla, 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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 23:44.