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 ...
 
Antiguo 23/03/2016, 11:16
 
Fecha de Ingreso: marzo-2016
Mensajes: 12
Antigüedad: 10 años, 6 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
 
Antiguo 23/03/2016, 11:53
 
Fecha de Ingreso: noviembre-2014
Ubicación: guadalajara
Mensajes: 18
Antigüedad: 11 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
 
Antiguo 23/03/2016, 14:34
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 22 años, 10 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.
 
Antiguo 23/03/2016, 16:36
 
Fecha de Ingreso: marzo-2016
Mensajes: 12
Antigüedad: 10 años, 6 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>=1 && $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
 
Antiguo 24/03/2016, 05:27
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 22 años, 10 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.
 
Antiguo 28/03/2016, 06:46
 
Fecha de Ingreso: marzo-2016
Mensajes: 12
Antigüedad: 10 años, 6 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
 
Antiguo 28/03/2016, 07:20
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 22 años, 10 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.
 
Antiguo 28/03/2016, 10:22
 
Fecha de Ingreso: marzo-2016
Mensajes: 12
Antigüedad: 10 años, 6 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
 
Antiguo 28/03/2016, 14:10
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 22 años, 10 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:34.