este es mi script en ajax
Código HTML:
<script type="text/javascript"> function compareEslora(formname,field1,field2){ f1=1*document.forms[formname].elements[field1].value; f2=1*document.forms[formname].elements[field2].value; if (f1>f2){alert("Compruebe que ha introducido bien los datos. Introduzca una eslora minima y una maxima!");return false;}else{return true;} } function enviarDatos(){ var trips = document.getElementById('trips'); probadate1 = document.getElementById('date1'); proba_date1 = probadate1.value; probadate2 = document.getElementById('date2'); proba_date2 = probadate2.value; probametier = document.getElementById('metier');//texto - nombre de metier proba_metier = probametier.value; probapuerto = document.getElementById('harbour');//texto - nombre de puerto proba_puerto = probapuerto.value; probabarco = document.getElementById('ship');//texto - nombre de barco proba_barco = probabarco.value; probaminimo = document.getElementById('min_eslora');//numero proba_minimo = probaminimo.value; probamaximo = document.getElementById('max_eslora');//numero proba_maximo = probamaximo.value; probaices = document.getElementById('zona_ices');//texto - nombre zona proba_ices = probaices.value; probarectangulo = document.getElementById('rectangulo_ices');//texto - nombre rectangulo proba_rectangulo = probarectangulo.value; probarte = document.getElementById('arte');//texto - nombre arte pesca proba_arte = probarte.value; compareDates('trips','date1','date2');//viene de otro script de calendario compareEslora('trips','min_eslora','max_eslora'); url_proba='date1='+proba_date1+'&date2='+proba_date2+'&metier='+proba_metier+'&harbour='+proba_puerto+'&ship='+proba_barco+'&min_eslora='+proba_minimo+'&max_eslora='+proba_maximo+'&zona_ices='+proba_ices+'&rectangulo_ices='+proba_rectangulo+'&arte='+proba_arte; xhr(url_proba); } var xmlhttp; function xhr(trips){ if (window.XMLHttpRequest) { xmlhttp=new XMLHttpRequest(); } else { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange = procesarRespuesta; xmlhttp.open("POST", "report_export.php", true); xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xmlhttp.setRequestHeader("Content-length", 10); xmlhttp.setRequestHeader("Connection", "close"); xmlhttp.send(trips); } function procesarRespuesta(){ if(xmlhttp.readyState == 4) { if(xmlhttp.status == 200) { return xmlhttp; } } } </script>
esta es el export q hago en php
Código PHP:
crea_archivo_csv_trips_report($_POST, $dbconn, $tmp_path.'trips_report.csv');
try {
// Comprobar tamaño del archivo csv
if (filesize($tmp_path.'trips_report.csv') == 0 || false) {
throw new Exception("Consulta sin resultados");
}
} catch (Exception $e) {
echo '<script type="text/javascript">';
echo 'alert("Consulta sin resultados.")';
echo '</script>';
exit();
}
// Convertir el csv en xls
csv2xls($tmp_path.'trips_report.csv', $tmp_path.'trips_report.xls', $glue=";", $enclosure='"');
envia_archivo_a_navegador($tmp_path.'trips_report.xls');
// Closing connection