Ver Mensaje Individual
  #11 (permalink)  
Antiguo 17/10/2006, 10:41
Avatar de Erikfrancisco
Erikfrancisco
 
Fecha de Ingreso: noviembre-2003
Ubicación: Estado de México
Mensajes: 503
Antigüedad: 20 años, 5 meses
Puntos: 4
Bueno pues el código queda de esta manera ¿no?

Código PHP:
<?php 
//persona  
   
$query4"SELECT distinct * FROM datos WHERE ( id = $id )"
   
$persona mysql_query$query4 ) or die ( mysql_error() ); 
//conyugue  
   
$query "SELECT * FROM datos d INNER JOIN matrimonios m on (d.id=m.id) WHERE m.mrin IN(SELECT mrin FROM matrimonios WHERE id=$id AND mrin<>0) AND d.id<>$id"
   
$conyugue mysql_query$query ) or die ( mysql_error() ); 
//hijos  
   
$query2 "SELECT distinct * FROM datos d INNER JOIN matrimonios m ON d.id=m.id WHERE mrinpadres IN(SELECT mrin FROM matrimonios WHERE id=$id AND mrin<>0) AND d.id<>$id"
   
$hijos mysql_query$query2 ) or die ( mysql_error() ); 

echo 
"<table class=\"tabla\">"
echo 
"<tr><td bgcolor=\"#d1d0df\">";  

if ( 
mysql_num_rows $persona ) > 

   echo 
"<font class=\"Estilo1\">Persona seleccionada: </font>";  
     
   
$row mysql_fetch_array$persona ); 

   
// datos generales de la persona 
   
$name $row['apellido']; // nombre de la persona
   
$fena $row['fena']; // fecha de nacimiento 
   
$luna $row['luna']; // lugar de nacimiento 
   
$femu $row['femu']; // fecha de muerte 
   
$lumu $row['lumu']; // lugar de muerte 

   
if ( empty( $name ) ) 
   { 
      echo 
"<font class=\"Estilo1\">".$name."</br></font>"
   }  
   if ( empty( 
$fena ) ) 
   { 
      echo 
"<font class=\"Estilo2\">Nacido el ".$fena." en ".$luna."</br></font>"
   }  
   if ( empty( 
$femu ) ) 
   { 
      echo 
"<font class=\"Estilo2\">Fallecido el ".$femu." en ".$lumu."</br></font>"
   } 

else 
{   
   echo 
"<font class=\"Estilo1\">No se encontró información de esta persona.</font><p>"
   exit; 
// no mostramos la tabla de sus conyugues e hijos 


echo 
"</td></tr>"
echo 
"</br>"
    
//fin persona 
//comienzo tabla conyugues 

echo "<table class=\"tabla\">"
echo 
"<tr><td bgcolor=\"#D7D6E0\">"

if ( 
mysql_num_rows$conyugue ) > 

   if ( 
mysql_num_rows$conyugue ) == //un solo matrimonio 
   

      
// datos generales de conyugue 
      
$id $row['id']; // id de conyugue 
      
$apellido $row['apellido']; // apellido de conyugue
      
$fena $row['fena']; // fecha de nacimiento de conyugue 
      
$luna $row['luna']; // lugar de nacimiento de conyugue 
      
$femu $row['femu']; // fecha de muerte de conyugue 
      
$lumu $row['lumu']; // lugar de muerte de conyugue 
      
      
echo "<font class=\"Estilo1\">Casado con: </font>";  
      echo 
"<a class=\"links\" href=\"detalle.php?id=".$id."\">".$apellido."</a></br>"

      if ( empty( 
$fena ) ) 
      { 
         echo 
"<font class=\"Estilo2\">Nacido el ".$fena." en ".$luna."</br></font>";  
      } 
      if ( empty( 
$femu ) ) 
      { 
         echo 
"<font class=\"Estilo2\">Fallecido el ".$femu." en ".$lumu."</br></font>"
      } 
       
      if ( 
mysql_num_rows$hijos ) > // hijos del matrimonio 
      

         echo 
"<font class=\"Estilo1\">Hijos: </font><p>"
         while ( 
$row mysql_fetch_array $hijos ) ) 
         { 
            
$id $row['id']; // id hijo 
            
$apellido $row['apellido']; // apellidos hijo
            
$fena $row['fena']; // fecha de nacimiento hijo 
            
$luna $row['luna']; // lugar de nacimiento hijo 
            
$femu $row['femu']; // fecha de muerte hijo 
            
$lumu $row['lumu']; // lugar de muerte hijo 

            
echo "<a class=\"links\" href=\"detalle.php?id=".$id."\">".$apellido."</a></br>"

            if ( empty( 
$fena ) ) 
            { 
               echo 
"<font class=\"Estilo2\">Nacido el: ".$fena." en ".$luna."</br></font>"
            } 

            if ( empty( 
$femu ) ) 
            { 
               echo 
"<font class=\"Estilo2\">Fallecido el: ".$femu." en ".$lumu."</br></font>"
            }
         } 
      } 
      else 
      { 
         echo 
"No se encontraron hijos para esta matrimonio"
      } 
   } 
   else 
   { 
      
$numero count$conyugue ); // MUCHOS MATRIMONIOS 
      
$i "1"// contador de matrimonio 
      
echo "<font class=\"Estilo1\">Casado con: </font><p>"
      while ( 
$row mysql_fetch_array $conyugue ) ) 
      { 
         
$id $row['id']; // id de conyugue 
         
$apellido $row['apellido']; // apellido de conyugue
         
$apellido_c explode " "$apellido ); // obtenemos los apellidos del conyugue el que nos interesa es el paterno
         
$fena $row['fena']; // fecha de nacimiento de conyugue 
         
$luna $row['luna']; // lugar de nacimiento de conyugue 
         
$femu $row['femu']; // fecha de muerte de conyugue 
         
$lumu $row['lumu']; // lugar de muerte de conyugue 
       
         
echo "<font class=\"Estilo1\">Matrimonio número ".$i.": </br></font>"
         echo 
"<a class=\"links\" href=\"detalle.php?id=".$id."\">".$apellido."</a></br>"

         if ( empty( 
$fena ) ) 
         { 
            echo 
"<font class=\"Estilo2\">Nacido el ".$fena." en ".$luna."</br></font>"
         }  
         if ( empty( 
$femu ) ) 
         { 
            echo 
"<font class=\"Estilo2\">Fallecido el ".$femu." en ".$lumu."</br></font><p>"
         } 

         
$i++;  
         echo 
"<p>";  

         if ( 
mysql_num_rows$hijos ) > //hijos de cada matrimonio 
         

            echo 
"<font class=Estilo1>Hijos: </font><p>";  
   
            while ( 
$row2 mysql_fetch_array$hijos ) ) 
            { 
               
$id2 $row['id']; // id hijo 
               
$apellido2 $row['apellido']; // apellidos hijo
               
$apellido_h explode " "$apellido );// obtenemos los apellidos del(la) hijo(a) el que nos interesa es el paterno
               
$fena2 $row['fena']; // fecha de nacimiento hijo 
               
$luna2 $row['luna']; // lugar de nacimiento hijo 
               
$femu2 $row['femu']; // fecha de muerte hijo 
               
$lumu2 $row['lumu']; // lugar de muerte hijo 

               
if ( $apellido_c[0] == $apellido_h[0] )
               {
                  echo 
"<a class=\"links\" href=\"detalle.php?id=".$id."\">".$apellido2."</a></br>"

                  if ( empty( 
$fena ) ) 
                  { 
                     echo 
"<font class=\"Estilo2\">Nacido el: ".$fena2." en ".$luna2."</br></font>"
                  }  
                  if ( empty( 
$femu ) ) 
                  { 
                     echo 
"<font class=\"Estilo2\">Fallecido el: ".$femu2." en ".$lumu2."</br></font>"
                  } 
               }
            } 

            echo 
"<p>"
         } 
      } 
   } 

else 

   echo 
"<font class=\"Estilo1\">No se encontró cónyugue de esta persona.</font><p>"


echo 
"</td></tr><p></table></br>"
echo 
"<font class=\"Estilo1\">Para buscar otro apellido cliqueá aquí</font></br><a class=\"links\" href=\"buscar.php\">Nueva búsqueda</a></br>"
?>
Te aconsejo que mejor utilices empty en lugar de $campo <> "". Ahora, la condicional:

$apellido_c[0] == $apellido_h[0]

Esto te servira siempre y cuando:

* La persona sea mujer, recuerda que los apellidos del hijo son apellidopaterno apellidomaterno y en la condicional estas comparando que el apellido paterno del conyugue es igual al apellido paterno del hijo, pero si la persona es hombre no funcionara. Debes de buscar la manera de obtener el sexo de la persona para así cambiar el condicional.

$apellido_c[0] == $apellido_h[1]

* Otra observación es que en los datos generales del conyugue sólo tienes los apellidos no el nombre, acaso ¿tienes dentro del campo apellidos el nombre?; de ser así entonces no te va a dar los resultados deseados la condicional ya que probablemente estas agarrando el nombre en lugar del apellido a menos que este campo comience por estos.

Suerte

Última edición por Erikfrancisco; 17/10/2006 a las 11:12