perdon, asi lo veras mejor:
Código PHP:
<?php
$selTotal = "SELECT * FROM api_orders_history"; // guardo en una variable sentencia sql a ejecutar
$selTotalExec = mysql_query($selTotal, $catalogoSTD) or die( mysql_error() ); // uso mysql_query() para ejecutar sentencia SQL guardada en #selTotal
$elCSV = 'No. PEDIDO, CODIGO CLIENTE, CODIGO PRODUCTO, CANTIDAD'; // creo las cabeceras para mi archivo CSV (como te das cuenta separadas por comas, y notar que este archivo CSV tendra 4 valores por linea
$elCSV .= "\r\n"; // esto si creo que sabes que hacen?????
$csvName = "archivos/pedidos". date('Ymd') .".csv";// creo el nombre para mi archivo CSV, utilizo la funcion date para para que alnombre se le adjunte el anio el mes y el dia.
$fileHandle = fopen($csvName, 'w') or die('Can\'t create .csv file, try again later.'); // uso fopen para abrir archivo en el que voy a escribir.. si tienes duda sobre esta funcion mira le referencia que te deje arriba.
while( $elTotal = mysql_fetch_assoc($selTotalExec) ){ // ejecuto un while con mi resultado de mi query a la base de datos.
// echo($elTotal['company_code']);exit; // esto es un comentario
$elCSV .= $elTotal['order_code'].",".$elTotal['company_code'].",".$elTotal['product_code'].",".$elTotal['product_quantity']." \n ";// aqui es cuanto empiezo a guardar el contenido de los campos de mi base de datos en una variable de string de PHP
// create and write file
fwrite($fileHandle, $elCSV); // funcion para escribir mi string al archivo previamente abierto con fopen.
//echo($elTotal['id']."<br />");
}
fclose($fileHandle); // cierro el archivo previamente abierto
//}
// push file to browser
// ESTAR CABECERAS (QUE SE MANEJAN CON LA FUNCION HEADER DE PHP,) SON PARA DECIRLE EL TIPO DE ARCHIVO QUE ESTAMOS GENERANDO (EN ESTE CASO PARA CREAR UN ARCHIVO DE CSV DE EXCEL) , PARA QUE NO CACHEE EL CONTENIDO, FECHA DE ULTIMA MODIFICACION, COMO SE MANEJARA EL CONTENIDO CREADO. SI INLINE (QUE LO VERA DIRECTAMENTE EN EL NAVEGADOR) O ATTACHMENT (QUE DESPLEGARA LA VENTANA DE DESCARGAR DEL NAVEGADOR), TAMANIO DEL ARCHIVO Y POR ULTIMO DAMOS UN ECHO PARA QUE EL CONTENIDO SEA AGREGADO.
header('Content-Type: application/x-octet-stream'); // ARCHIVO DE EXCEL
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Last-Modified: '.date('D, d M Y H:i:s'));
header('Content-Disposition: attachment; filename="Reporte_de_pedidos'. date('Ymd') .'.csv"');
header("Content-Length: ".filesize($csvName));
// echo $csvContent;
// delete file
// unlink($csvName);
echo($elCSV);
?>