Ver Mensaje Individual
  #7 (permalink)  
Antiguo 21/03/2004, 21:58
karl0x
 
Fecha de Ingreso: marzo-2004
Mensajes: 77
Antigüedad: 15 años, 10 meses
Puntos: 0
Bueno yo modifique un ejemplo k encontre por alli,y me salio bien, haber para k se entienda donde dice cabezera sera que ira en el primer renglon del excel, si quires no los pones, pero sale muy bien, claro esta sin formatear osea las celdas sin colores ni nada por el estilo...;)
ah tambien me faltaba decir que esto lo puse en un enlace porque a parte k se mostraba la consulta deberia tener la opcion de descargarlo en excel..puse un link dando los parametros de la consulta para k se generara...haber si le interesa a alguien.

Código PHP:
<?php
require('../funciones/func_inicio.php');
$conexion mysql_pconnect(bd_cadena,bd_usuario,bd_password);
if (!
$conexion)
{
    echo 
"Error: No se pudo establecer conexión con la base de datos";
    exit;
}
$bd=mysql_select_db(bd_nombre,$conexion);

if (
$cod_pais=="02"){
    
$cabezera=array("Código","DNI-CI","ZP","ZP'","ZR","ZR'","UN","UN'","EE","EE'","GV","GV'","EM","EM'","HM","HM'","HO","HO'","OJ","OJ'","CF","CF'","NBI","NBI'","NOTA");
    foreach(
$cabezera as $valor){
    
$header.=$valor."\t";
    }
}
if (
$cod_pais=="05"){
    
$cabezera=array("Código","DNI-CI","ZP","ZP'","ZR","ZR'","UN","UN'","EE","EE'","GV","GV'","EM","EM'","HM","HM'","HO","HO'","OJ","OJ'","CF","CF'","OA","OA'","NOTA" );
    foreach(
$cabezera as $valor){
    
$header.=$valor."\t";
    }
}

//calculo y media para la varianza de Perú            
$sql_MedStd_pe="select avg(zona_res), avg(zona_proc), avg(univer), avg(educ_escol), avg(grup_vuln), avg(educ_madre), ";
$sql_MedStd_pe.="avg(hnos_menor), avg(hogar_orig), avg(ocupac_jefe), avg(compos_famil), avg(nbi_hogar), ";
$sql_MedStd_pe.="stddev(zona_res), stddev(zona_proc), stddev(univer), stddev(educ_escol), stddev(grup_vuln), stddev(educ_madre), ";
$sql_MedStd_pe.="stddev(hnos_menor), stddev(hogar_orig), stddev(ocupac_jefe), stddev(compos_famil), stddev(nbi_hogar) ";
$sql_MedStd_pe.="from promedio_notas where cod_pais='02'";
$result=mysql_query($sql_MedStd_pe,$conexion);
while (
$fila=mysql_fetch_array($result,MYSQL_NUM))
  { 
    
$avg_zona_res_pe=$fila[0];
    
$avg_zona_proc_pe=$fila[1];
    
$avg_univer_pe=$fila[2];
    
$avg_educ_escol_pe=$fila[3];
    
$avg_grup_vuln_pe=$fila[4];
    
$avg_educ_madre_pe=$fila[5];
    
$avg_hnos_menor_pe=$fila[6];
    
$avg_hogar_ori_pe=$fila[7]; 
    
$avg_ocupac_jefe_pe=$fila[8];
    
$avg_compos_famil_pe=$fila[9];
    
$avg_nbihogar_pe=$fila[10];
    
$stddev_zona_res_pe=$fila[11];
    
$stddev_zona_proc_pe=$fila[12];
    
$stddev_univer_pe=$fila[13];
    
$stddev_educ_escol_pe=$fila[14];
    
$stddev_grup_vuln_pe=$fila[15];
    
$stddev_educ_madre_pe=$fila[16];
    
$stddev_hnos_menor_pe=$fila[17];
    
$stddev_hogar_orig_pe=$fila[18];
    
$stddev_ocupac_jefe_pe=$fila[19];
    
$stddev_compos_famil_pe=$fila[20];
    
$stddev_nbi_hogar_pe=$fila[21];
  }
//calculo y media para la varianza de Chile
$sql_MedStd_ch="select avg(zona_res), avg(zona_proc), avg(univer), avg(educ_escol), avg(grup_vuln), avg(educ_madre), ";
$sql_MedStd_ch.="avg(hnos_menor), avg(hogar_orig), avg(ocupac_jefe), avg(compos_famil), avg(ocup_actual), ";
$sql_MedStd_ch.="stddev(zona_res), stddev(zona_proc), stddev(univer), stddev(educ_escol), stddev(grup_vuln), stddev(educ_madre), ";
$sql_MedStd_ch.="stddev(hnos_menor), stddev(hogar_orig), stddev(ocupac_jefe), stddev(compos_famil), ";
$sql_MedStd_ch.="stddev(ocup_actual) from promedio_notas where cod_pais='05'";
$result=mysql_query($sql_MedStd_ch,$conexion);
while (
$fila=mysql_fetch_array($result,MYSQL_NUM))

    
$avg_zona_res_ch=$fila[0];
    
$avg_zona_proc_ch=$fila[1];
    
$avg_univer_ch=$fila[2];
    
$avg_educ_escol_ch=$fila[3];
    
$avg_grup_vuln_ch=$fila[4];
    
$avg_educ_madre_ch=$fila[5];
    
$avg_hnos_menor_ch=$fila[6];
    
$avg_hogar_ori_ch=$fila[7]; 
    
$avg_ocupac_jefe_ch=$fila[8];
    
$avg_compos_famil_ch=$fila[9];
    
$avg_ocup_actual_ch=$fila[10];
    
$stddev_zona_res_ch=$fila[11];
    
$stddev_zona_proc_ch=$fila[12];
    
$stddev_univer_ch=$fila[13];
    
$stddev_educ_escol_ch=$fila[14];
    
$stddev_grup_vuln_ch=$fila[15];
    
$stddev_educ_madre_ch=$fila[16];
    
$stddev_hnos_menor_ch=$fila[17];
    
$stddev_hogar_orig_ch=$fila[18];
    
$stddev_ocupac_jefe_ch=$fila[19];
    
$stddev_compos_famil_ch=$fila[20];
    
$stddev_ocup_actual_ch=$fila[21];
}
    
$sqlexcel="select datos_personales.cod_postulante, datos_personales.dni_ci, promedio_notas.cod_pais, ";
$sqlexcel.="promedio_notas.zona_res, promedio_notas.zona_proc, promedio_notas.univer, promedio_notas.educ_escol, ";
$sqlexcel.="promedio_notas.grup_vuln, promedio_notas.educ_madre, promedio_notas.hnos_menor, ";
$sqlexcel.="promedio_notas.hogar_orig, promedio_notas.ocupac_jefe, promedio_notas.compos_famil, ";
$sqlexcel.="promedio_notas.nbi_hogar, promedio_notas.ocup_actual, promedio_notas.promed_final ";
$sqlexcel.="from datos_personales, promedio_notas ";
$sqlexcel.="where (datos_personales.cod_postulante=promedio_notas.cod_postulante) ";
if (!empty(
$nota_min)||($nota_min==0))
$sqlexcel.="and cod_pais='$cod_pais' and promed_final>=$nota_min ";
$sqlexcel.="order by cod_postulante";
$result mysql_query($sqlexcel$conexion);

while (
$fila=mysql_fetch_array($result,MYSQL_NUM))
{
    
$cod_postulante=$fila[0];
    
$dni_ci=$fila[1];
    
$cod_pais=$fila[2];
    
$zona_res=$fila[3];
    
$zona_proc=$fila[4];
    
$univer=$fila[5];
    
$educ_escol=$fila[6];
    
$grup_vuln=$fila[7];
    
$educ_madre=$fila[8];
    
$hnos_menor=$fila[9];
    
$hogar_orig=$fila[10];
    
$ocupac_jefe=$fila[11];
    
$compos_famil=$fila[12];
    
$nbi_hogar=$fila[13];
    
$ocup_actual=$fila[14];
    
$promed_final=$fila[15];
    
    
//Calculo del promedio final para Peru
    
if ($cod_pais=="02")
    {
        
$zo_res=(($zona_res-$avg_zona_res_pe)/$stddev_zona_res_pe);
        
$zo_proc=(($zona_proc-$avg_zona_proc_pe)/$stddev_zona_proc_pe);
        
$uni=(($univer-$avg_univer_pe)/$stddev_univer_pe);
        
$edu_esco=(($educ_escol-$avg_educ_escol_pe)/$stddev_educ_escol_pe);
        
$gru_vul=(($grup_vuln-$avg_grup_vuln_pe)/$stddev_grup_vuln_pe);
        
$edu_madre=(($educ_madre-$avg_educ_madre_pe)/$stddev_educ_madre_pe);
        
$hnos_men=(($hnos_menor-$avg_hnos_menor_pe)/$stddev_hnos_menor_pe);
        
$hog_ori=(($hogar_orig-$avg_hogar_orig_pe)/$stddev_hogar_orig_pe);
        
$ocup_jefe=(($ocupac_jefe-$avg_ocupac_jefe_pe)/$stddev_ocupac_jefe_pe);
        
$compo_fami=(($compos_famil-$avg_compos_famil_pe)/$stddev_compos_famil_pe);
        
$nbi_hog=(($nbi_hogar-$avg_nbi_hogar_pe)/$stddev_nbi_hogar_pe);
        
$fila_peru=array(
            
$cod_postulante,
            
$dni_ci,
            
$zona_proc,
            
$zo_proc,
            
$zona_res,
            
$zo_res,
            
$univer,
            
$uni,
            
$educ_escol,
            
$edu_esco,
            
$grup_vuln,
            
$gru_vul,
            
$educ_madre,
            
$edu_madre,
            
$hnos_menor,
            
$hnos_men,
            
$hogar_orig,
            
$hog_ori,
            
$ocupac_jefe,
            
$ocup_jefe,
            
$compos_famil,
            
$compo_fami,
            
$nbi_hogar,
            
$nbi_hog,
            
$promed_final);
          
$line '';
          foreach(
$fila_peru as $value){
            if(!isset(
$value) || $value == ""){
              
$value "\t";
            }else{
              
$value str_replace('"''""'$value);
              
$value '"' $value '"' "\t";
            }
            
$line .= $value;
          }
          
$data .= trim($line)."\n";
    }
//fin del if_peru    
    
    //Calculo del promedio final para Chile
    
if ($cod_pais=="05")
    {
        
$zo_res=(($zona_res-$avg_zona_res_ch)/$stddev_zona_res_ch);
        
$zo_proc=(($zona_proc-$avg_zona_proc_ch)/$stddev_zona_proc_ch);
        
$uni=(($univer-$avg_univer_ch)/$stddev_univer_ch);
        
$edu_esco=(($educ_escol-$avg_educ_escol_ch)/$stddev_educ_escol_ch);
        
$gru_vul=(($grup_vuln-$avg_grup_vuln_ch)/$stddev_grup_vuln_ch);
        
$edu_madre=(($educ_madre-$avg_educ_madre_ch)/$stddev_educ_madre_ch);
        
$hnos_men=(($hnos_menor-$avg_hnos_menor_ch)/$stddev_hnos_menor_ch);
        
$hog_ori=(($hogar_orig-$avg_hogar_orig_ch)/$stddev_hogar_orig_ch);
        
$ocup_jefe=(($ocupac_jefe-$avg_ocupac_jefe_ch)/$stddev_ocupac_jefe_ch);
        
$compo_fami=(($compos_famil-$avg_compos_famil_ch)/$stddev_compos_famil_ch);
        
$ocup_act=(($ocup_actual-$avg_ocup_actual_ch)/$stddev_ocup_actual_ch);
        
$fila_chile=array(
            
$cod_postulante,
            
$dni_ci,
            
$zona_proc,
            
$zo_proc,
            
$zona_res,
            
$zo_res,
            
$univer,
            
$uni,
            
$educ_escol,
            
$edu_esco,
            
$grup_vuln,
            
$gru_vul,
            
$educ_madre,
            
$edu_madre,
            
$hnos_menor,
            
$hnos_men,
            
$hogar_orig,
            
$hog_ori,
            
$ocupac_jefe,
            
$ocup_jefe,
            
$compos_famil,
            
$compo_fami,
            
$ocup_actual,
            
$ocup_act,
            
$promed_final);
              
$line '';
              foreach(
$fila_chile as $value){
                if(!isset(
$value) || $value == ""){
                  
$value "\t";
                }else{
                  
$value str_replace('"''""'$value);
                  
$value '"' $value '"' "\t";
                }
                
$line .= $value;
              }
              
$data .= trim($line)."\n";
    }
}
//fin while

  
$data str_replace("\r"""$data);
if (
$data == "") {
  
$data "\nNo se encontraron registros\n";
}
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=compxPond.xls");
header("Pragma: no-cache");
header("Expires: 0");

echo 
$header."\n".$data
?>
tambien quise poner una imagen para k se vea como era la salida ,pero no supe como hacerlo, por mas k intente..Jejeje