La forma en la que estoy intentando hacerlo es la siguiente.
Código PHP:
Código PHP:
public function csv($query,$tabla){
$resultado=$this->db->ejecutarQuery($query);
$fields=$this->db->QueryArray("SHOW COLUMNS FROM ".$tabla."");
$out = '';
// Cuento las columnas
$columns = mysql_num_fields($resultado);
// Put the name of all fields
for ($i = 0; $i < $columns; $i++) {
$l=$fields["$i"];
$out .= '"'.$l.'",';
}
$out .="\n";
// Add all values in the table
while ($l = mysql_fetch_array($resultado)) {
for ($i = 0; $i < $columns; $i++) {
$out .='"'.$l["$i"].'",';
}
$out .="\n";
}
header('Content-Type: text/html; charset=iso-8859-1');
header("Content-type: text/x-csv");
header("Content-type: application/csv");
header("Content-Disposition: attachment; filename=resultado.csv");
return $out;
exit;
} // end function
Código js:
Ver original
function Exportar() { $.ajax({ type: "POST", dataType: "html", url: "admin.php?accion=csv", beforeSend: function(objeto) {$("#registros").html(loading);}, success: function(html) { html.setRequestHeader("Content-Disposition: attachment; filename=resultado.csv"); $("#registros").html(data); } }); }
Esto no funciona pero lo pongo para que vean hasta adonde llegue.
Estuve leyendo que la cabecera tendría que estar dentro del success pero no entiendo como hacerlo.
Gracias por adelantado.