Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/10/2006, 12:31
Avatar de solecoza
solecoza
 
Fecha de Ingreso: julio-2006
Mensajes: 126
Antigüedad: 17 años, 9 meses
Puntos: 0
Desacuerdo Largo y difícil. Separar datos segun otros datos.

Hola.
Esto no es muy fácil de leer, pero intentaré explicarlo para alivianarlo.
Tengo 3 tablas: datos, padres y matrimonios.
Con ellas, hago unas consultas que me permiten saber todo sobre alguien: sus datos, sus hijos, sus padres, y cuantas veces se casó, etc.

Mi problema es: Con lo que pego acá abajo logro que me salga bien la cantidad de matrimonios, y sus respectivos conyugues.Dentro de cada matrimonio yo quiero listar los respectivos hijos. Mi problema es: tal como está este código lo que me sale es:

Persona: SOLEDAD GARCIA
Casado con:
Primer matrimonio: PEPE GONZALEZ
Hijos: JUAN
JOSE
MARIA
Segundo matrimonio: JORGE PEREZ
Hijos:

El tema es: Juan es hijo del primer matrimonio, y Jose y Maria del segundo.
¿Se entiende?

Mas abajo pongo las consultas.
GRACIAS AL QUE PUEDA AYUDARME.


Código PHP:
 if (mysql_num_rows($conyugue) > 0){ 
    if (
mysql_num_rows($conyugue) == 1){ //un solo matrimonio
       
    
$id $row['id'];
    
$apellido $row['apellido'];
    
$fena $row['fena'];
    
$luna $row['luna'];
    
$femu $row['femu'];
    
$lumu $row['lumu'];
    
    echo 
"<font class=Estilo1>Casado con: </font>";
    echo 
"<a class=links href=\"detalle.php?id=".$id."\">".$apellido."</a></br>"
     if (
$fena<>""){
    echo 
"<font class=Estilo2>Nacido el ".$fena." en ".$luna."</br></font>";
     }
     if (
$femu<>""){
    echo 
"<font class=Estilo2>Fallecido el ".$femu." en ".$lumu."</br></font>";
     }
     if (
mysql_num_rows($hijos) > 0){ //hijos del matrimonio
    
    
echo "<font class=Estilo1>Hijos: </font>";
    echo 
"</p>";
    while(
$row mysql_fetch_array($hijos)){ 
    
$id $row['id'];
    
$apellido $row['apellido'];
    
$matrimonio $row['mrin'];
    
$padres $row['mrinpadres'];
    
$fena $row['fena'];
    
$luna $row['luna'];
    
$femu $row['femu'];
    
$lumu $row['lumu'];

     echo 
"<a class=links href=\"detalle.php?id=".$id."&matrimonio=".$matrimonio."&padres=".$padres."\">".$apellido."</a></br>"
     if (
$fena<>""){
     echo 
"<font class=Estilo2>Nacido el: ".$fena." en ".$luna."</br></font>";
     }
     if (
$femu<>""){
     echo 
"<font class=Estilo2>Fallecido el: ".$femu." en ".$lumu."</br></font>";
     }
    } 
//mientras haya hijos
    
// SI TIENEN HIJOS
    
}//fin UN MATRIMONIO
    
    
else{ //muchos matrimonios
    
$i "1";
     echo 
"<font class=Estilo1>Casado con: </font>";
     echo 
"</p>";
  while(
$row mysql_fetch_array($conyugue)){ 
  
    
$id $row['id'];
    
$apellido $row['apellido'];
    
$fena $row['fena'];
    
$luna $row['luna'];
    
$femu $row['femu'];
    
$lumu $row['lumu'];
     
     echo 
"<font class=Estilo1>Matrimonio número ".$i.": </br></font>";
     echo 
"<a class=links href=\"detalle.php?id=".$id."\">".$apellido."</a></br>"
     if (
$fena<>""){
     echo 
"<font class=Estilo2>Nacido el ".$fena." en ".$luna."</br></font>";
     }
     if (
$femu<>""){
     echo 
"<font class=Estilo2>Fallecido el ".$femu." en ".$lumu."</br></font>";
     echo 
"</p>";
     }
$i++;
     echo 
"</p>";

  if (
mysql_num_rows($hijos) > ){ //hijos de cada matrimonio
    
    
echo "<font class=Estilo1>Hijos: </font>";
    echo 
"</p>";
  while(
$row mysql_fetch_array($hijos) ){ 
    
$id $row['id'];
    
$apellido $row['apellido'];
    
$fena $row['fena'];
    
$luna $row['luna'];
    
$femu $row['femu'];
    
$lumu $row['lumu'];

     echo 
"<a class=links href=\"detalle.php?id=".$id."\">".$apellido."</a></br>"
     if (
$fena<>""){
     echo 
"<font class=Estilo2>Nacido el: ".$fena." en ".$luna."</br></font>";
     }
     if (
$femu<>""){
     echo 
"<font class=Estilo2>Fallecido el: ".$femu." en ".$lumu."</br></font>";
     }

//para cada hijo
echo "</p>";
//si tienen hijos
//fin mientras haya matrimonios
//fin para el que tenga muchos matrimonios
} else { 
   echo 
"<font class=Estilo1>No se encontró cónyugue de esta persona.</font>"
   echo 
"</p>"
Código PHP:
//persona
    
$query4"SELECT distinct * FROM datos WHERE (id=$id)";
//conyugue
       
$query="select distinct * from datos p inner join matrimonios m on p.id=m.id where (m.id<>$id) AND m.mrin IN(select mrin from matrimonios where id=$id and mrin<>0)";
//hijos
     
$query2="SELECT distinct * FROM datos p inner join padres pa on p.id=pa.id WHERE (mrinpadres IN (SELECT mrin FROM matrimonios where id=$id)) AND (mrinpadres <>0)"
Otra cosita: Como se pone un echo de un tab en php?