Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/03/2010, 22:06
Lachi
 
Fecha de Ingreso: junio-2004
Ubicación: Villa Carlos Paz
Mensajes: 88
Antigüedad: 19 años, 10 meses
Puntos: 2
Crear una Función en PHP

Hola a todos, los molesto para ver si alguien me puede ayudar ya que necesitaría armar una función de siguente código, ya que sino cuando lo repito mas de una vez en una misma página me genera conflicto.
Me interesaría que el parámetro que se modifique sea la variable $buscar.

Código PHP:
    //Buscamos Toda la información requerida para Hombres y Mujeres
    
$hombreconsultar=mysql_query("SELECT $buscar FROM 1_datos_contacto WHERE sexo='Masculino'");
    
$mujerconsultar=mysql_query("SELECT $buscar FROM 1_datos_contacto WHERE sexo='Femenino'");
    
    
//Creo un array con los datos de hombres obtenidos de la DB
    
while($infohombre=mysql_fetch_array($hombreconsultar))
    {
        
$hombreduplicado[]=$infohombre["$buscar"];
    }
    
    
//Eliminamos datos duplicados del array anterior (hombres)
    
$hombre=array_unique($hombreduplicado);
    
    
//Buscamos la cantidad de registros de hombres en la base de datos 
    
foreach( $hombre as $value ) {
        
$canhombre[]=mysql_query("SELECT COUNT(*) FROM 1_datos_contacto WHERE $buscar='" $value "' AND sexo='Masculino'");           
    } 
    
    
//Cantidad de Personas por cada país
    
foreach ($canhombre as $value) {
        
$resultadohombre[]=mysql_result($value 0);
    }
    
    
//echo $resultadohombre[0] . $hombre[0];
    //echo $resultadohombre[1] . $hombre[1];
    
    
$hombresbuscar array_combine($hombre$resultadohombre);
    
    
//Comprobamos la relación entre los 2 arrays 
    /*foreach ($hombresbuscar as $key => $value) {
        echo "En $key hay $value hombres.";
    }*/
    
    ////////////////////////////////////////////////////////////////////////////
    
    //Creo un array con los datos de mujers obtenidos de la DB
    
while($infomujer=mysql_fetch_array($mujerconsultar))
    {
        
$mujerduplicado[]=$infomujer["$buscar"];
    }    
    
    
//Eliminamos datos duplicados del array anterior (mujers)
    
$mujer=array_unique($mujerduplicado);
    
    
//Buscamos la cantidad de registros de mujeres en la base de datos 
    
foreach( $mujer as $value ) {
        
$canmujer[]=mysql_query("SELECT COUNT(*) FROM 1_datos_contacto WHERE $buscar='" $value "' AND sexo='Femenino'");               
    } 
    
    
//Cantidad de Personas por cada país
    
foreach ($canmujer as $value) {
        
$resultadomujer[]=mysql_result($value 0);
    }
    
    
//echo $resultadomujer[0] . $mujer[0];
    
    
$mujeresbuscar array_combine($mujer$resultadomujer);
    
    
//Comprobamos la relación entre los 2 arrays 
    /*foreach ($mujeresbuscar as $key => $value) {
        echo "En  $key hay $value mujeres.";
    }*/
    
    
    ///////////////////////////////////////////////
    
    
$result_array array_intersect_assoc($hombresbuscar$mujeresbuscar);
    
    foreach (
$result_array as $key => $value) {
        
$datosencomun[]=$key;
        
//echo $key;
    
}
    
    
$resultsolohombre array_diff_assoc ($hombresbuscar$mujeresbuscar);
    
    foreach (
$resultsolohombre as $key => $value) {
        
$datossolohombre[]=$key;
        
//echo $key;
    
}
    
    
$resultsolomujer array_diff_assoc ($mujeresbuscar$hombresbuscar);
    
    foreach (
$resultsolomujer as $key => $value) {
        
$datossolomujer[]=$key;
        
//echo $key;
    
}
    
$sumahombresarray_sum($hombresbuscar);
    
$sumamujeresarray_sum($mujeresbuscar);
    
$sumatotal array_sum($hombresbuscar) + array_sum($mujeresbuscar); 
Con esos datos, formo la siguiente tabla:

Código PHP:
<h3>Postulantes clasificados por Estado Civil según Género</h3>
            
            <table width="90%" border="1" cellpadding="1">
              <tr>
                <td>Postulantes</td>
                <td>Hombres</td>
                <td>Muejeres</td>
                <td>Total</td>
                <td>Porcentajes</td>
              </tr>
            <? 
                
for ($i=0;$i<count($datosencomun);$i++) {
                
$datos=$datosencomun[$i];
                
$datosnombre[]=$datosencomun[$i];
            
?>                
              <tr>
                <td><? print $datosencomun[$i];?></td>
                <td><? echo $hombresbuscar["$datos"];?></td>
                <td><? echo $mujeresbuscar["$datos"];?></td>
                <td><? echo $total $hombresbuscar["$datos"] + $mujeresbuscar["$datos"];?></td>
                <td><? $frecuencia[]= ($total $sumatotal) * 100;
                       echo 
$mostrarfrecuencia = ($total $sumatotal) * 100 " %";?></td>
              </tr>
            <?
                
}
            
?>
            
            <? 
                
for ($i=0;$i<count($datossolohombre);$i++) {
                
$datos=$datossolohombre[$i];
                
$datosnombre[]=$datossolohombre[$i];
            
?>                
              <tr>
                <td><? print $datossolohombre[$i];?></td>
                <td><? echo $hombresbuscar["$datos"];?></td>
                <td>0</td>
                <td><? echo $total $hombresbuscar["$datos"];?></td>
                <td><? $frecuencia[]= ($total $sumatotal) * 100;
                       echo 
$mostrarfrecuencia = ($total $sumatotal) * 100 " %";?></td>
              </tr>
            <?
                
}
            
?>
            
            <? 
                
for ($i=0;$i<count($datossolomujer);$i++) {
                
$datos=$datossolomujer[$i];
                
$datosnombre[]=$datossolomujer[$i];
            
?>                
              <tr>
                <td><? print $datossolomujer[$i];?></td>
                <td>0</td>
                <td><? echo $mujeresbuscar["$datos"];?></td>
                <td><? echo $total $mujeresbuscar["$datos"];?></td>
                <td><? $frecuencia[]= ($total $sumatotal) * 100;
                       echo 
$mostrarfrecuencia = ($total $sumatotal) * 100 " %";?></td>
              </tr>
            <?
                
}
            
?>
              <tr>
                <td>Total</td>
                <td><?php echo $sumahombres;?></td>
                <td><?php echo $sumamujeres;?></td>
                <td><? echo $sumatotal;?></td>
                <td><? echo  $sumafrecuencias array_sum($frecuencia) . " %";?></td>
              </tr>
            </table>
Muchas gracias