Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Combinar datos de dos tablas complicado

Estas en el tema de Combinar datos de dos tablas complicado en el foro de Mysql en Foros del Web. Hola a todos, no soy muy experto en PHP y MySQL, sin embargo se me presenta un caso que veo complicado que he buscado mucho ...
  #1 (permalink)  
Antiguo 23/06/2012, 22:54
 
Fecha de Ingreso: septiembre-2008
Mensajes: 16
Antigüedad: 15 años, 7 meses
Puntos: 0
Combinar datos de dos tablas complicado

Hola a todos, no soy muy experto en PHP y MySQL, sin embargo se me presenta un caso que veo complicado que he buscado mucho en foros y no encuentro solución. Necesito mostrar todos los registros de mi db uniendo 2 tablas y mostrando datos detallados de las 2 tablas en cada registro. Este es mi caso:


Código HTML:
tabla padres			
------------------------
nom_padre | tel_padre  |
------------------------
Pedro     | 4444444    |
------------------------		
Juan      | 2222222    | 
------------------------


tabla hijos			
---------------------------------------
nom_hijo | nom_padre | edad | idiomas |
---------------------------------------
Felipito | Pedro     | 11   | Francés |
---------------------------------------
Juanito  | Pedro     | 5    | Francés |
---------------------------------------
Anita    | Pedro     | 7    | Francés |
---------------------------------------
Pepito   | Juan      | 8    | Francés |
---------------------------------------

Necesito mostrar el listado completo de padres, con sus hijos y sus detalles así:

Pedro
Tel.: 4444444
Hijos:
Felipito - 11 - Francés
Juanito - 5 - Español
Anita - 7 - Inglés

Juan
Tel.: 2222222
Hijos:
Felipito - 11 - Francés


La consulta es:

Código PHP:
SELECT *
FROM hijos INNER JOIN padres ON padres.nom_padre=hijos.nom_padre
WHERE hijos
.idiomas='Frances'
ORDER BY padres.nom_padre ASC 

Y repito los registros así:

Código PHP:
<?php do { ?>
<div>
<?php echo $row_rsPadres['nom_padre']; ?><br />
Tel.: <?php echo $row_rsPadres['tel_padre']; ?><br />
Hijos: <?php echo $row_rsPadres['nom_hijo']; ?> - <?php echo $row_rsPadres['edad']; ?> - <?php echo $row_rsPadres['idiomas']; ?>
</div>
<?php } while ($row_rsPadres mysql_fetch_assoc($rsPadres)); ?>
El problema es que no se como repetir los hijos (con sus datos) dentro de cada padre.

Espero sea clara la explicación y que alguien me pueda ayudar.
  #2 (permalink)  
Antiguo 24/06/2012, 01:36
 
Fecha de Ingreso: mayo-2006
Mensajes: 475
Antigüedad: 17 años, 11 meses
Puntos: 58
Respuesta: Combinar datos de dos tablas complicado

Con PHP podías mostrarlos así

Código PHP:
<?php 
$anterior
='';
do { 
    if(
$anterior!=$row_rsPadres['nom_padre']){
        echo 
$row_rsPadres['nom_padre'].'<br />';
        echo 
$row_rsPadres['tel_padre'].'<br />Hijos:';
    } 
echo 
$row_rsPadres['nom_hijo']." - ".$row_rsPadres['edad']." - ".$row_rsPadres['idiomas']."<br />";
$anterior=$row_rsPadres['nom_padre'];
} while (
$row_rsPadres mysql_fetch_assoc($rsPadres)); 
?>
  #3 (permalink)  
Antiguo 25/06/2012, 17:50
 
Fecha de Ingreso: septiembre-2008
Mensajes: 16
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Combinar datos de dos tablas complicado

Hola jossss, perdona por responder hasta ahora pues estaba haciendo pruebas. Tu código funcionó perfecto, pero ahora se me presenta un caso y es que necesito que el campo tel_padre vaya después de los datos de los hijos que se repiten, o sea que pueda poner la repetición en un punto medio y hacia abajo poder colocar otros campos que se necesiten:

Pedro
Hijos:
Felipito - 11 - Francés
Juanito - 5 - Español
Anita - 7 - Inglés
Tel.: 4444444
Dir...
.
.
.
.

Muchas gracias

Etiquetas: combinar, join, php, registros, 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




La zona horaria es GMT -6. Ahora son las 15:13.