PHP - Ayuda para mostrar tablas relacionadas de mysql

   
Vista:

Ayuda para mostrar tablas relacionadas de mysql

Publicado por elias (19 intervenciones) el 18/12/2014 22:07:16
hola el problema seria este, necesito mostrar la tabla alumno que esta relacionada a otras tablas.. las tablas estan armada asi: persona[dni, nombre, apellido] localidad[idloc,nomlocalidad,idprov] provincia[idprov,nomprov,idpais] pais[idpais,nompais] alumno[ idalumno, dni, idloc, email, contraseña]..

creo la conexion..

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
function Conectarse()
{
   if (!($link=mysql_connect("localhost","n_usuario","password")))
   {
      echo "Error conectando a la base de datos.";
      exit();
   }
   if (!mysql_select_db("n_base",$link))
   {
      echo "Error seleccionando la base de datos.";
      exit();
   }
   return $link;
}
?>


ahora la parte que me complica es la del select



y despues muestro los datos con el

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/* Desplegamos cada uno de los registros dentro de una tabla */  
echo "<table border=1 cellpadding=4 cellspacing=0>";
 
/*Priemro los encabezados*/
 echo "<tr>
         <th colspan=5> Alumno </th>
       <tr>
         <th> ID </th><th> Nombre </th><th>Apellido</th><th> Email </th>
         <th> localidad, provincia, pais </th>
      </tr>";
 
/*Y ahora todos los registros */
while($row=mysql_fetch_array($result))
{
 echo "<tr>
         <td align='right'> $row[id] </td>
         <td> $row[nombre] </td>
         <td> $row[apellido] </td>
         <td> $row[email] </td>
         <td> $row[localidad,provincia,pais] </td>
      </tr>";
}
echo "</table>";
 
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Ayuda para mostrar tablas relacionadas de mysql

Publicado por xve (5525 intervenciones) el 19/12/2014 08:26:28
Hola Elias, entiendo que el problema lo tienes al hacer el select, verdad?

Pero que select tienes que hacer? no queda muy clara tu pregunta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda para mostrar tablas relacionadas de mysql

Publicado por elias (19 intervenciones) el 19/12/2014 13:14:35
osea necesito mostrar una tabla con todos los datos del alumno, pero como en la base de datos la tabla alumno tiene el dni que seria la realciona con la tabla persona en donde esta el nombre de ese alumno.. y así con las otras tablas de ciudad etc.. quisiera poder mostrar al alumno seguido de todos sus datos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Ayuda para mostrar tablas relacionadas de mysql

Publicado por xve (5525 intervenciones) el 19/12/2014 18:14:59
Hola Elias, segun entiendo, tendrias que vinculas las tablas con LEFT JOIN por el campo DNI... algo así:

1
SELECT * FROM alumno a LEFT JOIN persona p ON a.dni=p.dni

Es esto a lo que te refieres?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda para mostrar tablas relacionadas de mysql

Publicado por elias (19 intervenciones) el 19/12/2014 19:05:49
si la verdad no c, las tablas ya están vinculadas por las claves foraneas, la relacion ya existe yo solo necesito mostrar la información de alumno que esta distribuida en la relaciones con esas tablas ejemplo si busco el nombre del alumno esta en la tabla persona no en la tabla alumno, pero yo necesito mostrar todo junto, ya que relacione DNI de persona con DNI en alumno
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda para mostrar tablas relacionadas de mysql

Publicado por Carlos (20 intervenciones) el 20/12/2014 00:24:18
La pregunta es, como sabe la base de datos que en la tabla "persona" el DNI con ID 20 le pertenece al alumno en la tabla "alumnos" con ID 25 por ejemplo?

Yo creo que estás dando muchas vueltas para algo simple. Podes crear todo en la misma tabla, hacer una única consulta y mostrar esos datos.

1
2
$query = "SELECT * FROM alumnos";
mysql_query($query) OR DIE ('Fallo la consulta');

Y para mostrarlos sería simplemente:

1
2
3
4
5
$alumnosInfo = mysql_fetch_array($query);
 
echo "$alumnosInfo['alumno']";
echo "$alumnosInfo['dni']";
echo "$alumnosInfo['localidad']";

Esto sería un método muy simple. En tu código fijate de ponerle comillas simples a los parámetros dentro de la variable $row
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda para mostrar tablas relacionadas de mysql

Publicado por elias (19 intervenciones) el 20/12/2014 01:14:00
claro pongamos que ese caso lo hago asi, pero en la parte de calificaciones por alumno, cada alumno tiene una nota de cada clase tengo que crear una tabla por que el alumno tendrá muchas clases y la clase muchos alumnos.. y hay existiría una relación y tendría que mostrar el id de la nota de la clase relacionada al alumno.. y hay esta el problema mio jaja no existira algun manual completo sobre mysql y php para poder aprender bien eso?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda para mostrar tablas relacionadas de mysql

Publicado por elias (19 intervenciones) el 22/12/2014 19:09:43
Mira este codigo me muestra el nombre del alumno que esta en la tabal persona y no en la tabla alumno me falta poder sacar el apellido de la tabla persona, y tengo que hacerlo con la tabla localidad, la tabla tipouser.. tambien...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
// Conexión con la base de datos Mysql
 
$conexion=mysql_connect('localhost','root','');
mysql_select_db('campv',$conexion);
 
//  Consulta Mysql donde aplicamos INNER JOIN
$consulta_mysql="select alumno.idalumno,persona.nombre
					from alumno
						inner join persona on alumno.fk_dni=persona.dni";
$resultado_consulta_mysql=mysql_query($consulta_mysql,$conexion);
 
//  Navegamos cada fila que devuelve la consulta mysql y la imprimimos en pantalla
while($fila=mysql_fetch_array($resultado_consulta_mysql)){
	echo "El servicio ".$fila['nombre'];
}
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Ayuda para mostrar tablas relacionadas de mysql

Publicado por xve (5525 intervenciones) el 22/12/2014 19:58:31
Hola Elias, pero no se lo indicas en la consulta que te devuelva el apellido... tendrías que añadirlo al SELECT!!!

1
$consulta_mysql="select alumno.idalumno,persona.nombre,persona.apellidos ....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda para mostrar tablas relacionadas de mysql

Publicado por elias (19 intervenciones) el 23/12/2014 00:46:05
muchas gracias, espero que esto me de un gran empujon en el sistema, saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar