zad30_x Posted July 9, 2010 Report Share Posted July 9, 2010 Hola chicos de la comunidad web :tointo: mmm... quisiera saber si a alguien se le ocurre/sabe como guardar los datos de un resultado SQL en un documento CSV para llevar un registro Ejemplo, mi proyecto es acerca de un conteo de impresión con un total de hojas determinadas para cada usuario. Cuando este se excede se marca rojo el usuario, cuando quiero ver quienes se han excedido en el mes, perfectamente puedo exportar los datos con la consulta y mostrarla en HTML incluso imprimirla, pero para mayor seguridad quiero guardar un registro por mes en formato CSV. Se entiende ahora un poco mejor?? Un saludo cordial a todos Juan R. :banana: Link to comment Share on other sites More sharing options...
the.manolox Posted July 9, 2010 Report Share Posted July 9, 2010 Hola. Quizas esto te puede servir. http://snipplr.com/view/2234/export-mysql-...results-to-csv/ // Export to CSV if($_GET['action'] == 'export') { $rsSearchResults = mysql_query($sql, $db) or die(mysql_error()); $out = ''; $fields = mysql_list_fields('database','table',$db); $columns = mysql_num_fields($fields); // Put the name of all fields for ($i = 0; $i < $columns; $i++) { $l=mysql_field_name($fields, $i); $out .= '"'.$l.'",'; } $out .="\n"; // Add all values in the table while ($l = mysql_fetch_array($rsSearchResults)) { for ($i = 0; $i < $columns; $i++) { $out .='"'.$l["$i"].'",'; } $out .="\n"; } // Output to browser with appropriate mime type, you choose;) header("Content-type: text/x-csv"); //header("Content-type: text/csv"); //header("Content-type: application/csv"); header("Content-Disposition: attachment; filename=search_results.csv"); echo $out; exit; } Link to comment Share on other sites More sharing options...
Ra Posted July 9, 2010 Report Share Posted July 9, 2010 Qué motor? SQL Server, MySQL, PostgreSQL, Oracle,.....??? Link to comment Share on other sites More sharing options...
zad30_x Posted July 9, 2010 Author Report Share Posted July 9, 2010 lamentablemente no estoy en mi casa para probar el codigo, pero lo analice con un compañero de trabajo y por lo que entendimos, esto no lo exporta directamente, si no, lo crea. bueno sea asi o no, muchas gracias por tu ayuda. y luego lo probaremos. Gracias manolox Hola ragys el motor es MySql. Juan R. :) Link to comment Share on other sites More sharing options...
Ra Posted July 9, 2010 Report Share Posted July 9, 2010 Entonces... lo puedes hacer directamente desde el motor, sin necesidad de usar un cliente... Si quieres mantener un registro periódico, tienes que programar un SP que haga el trabajo... El SP lo programas con ????? dependiendo si está en linux o windows... Bueno... la consulta es algo así: SELECT a,b,a+b INTO OUTFILE '/tmp/result.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM test_table; Eso es utilizando una consulta SQL... También puedes hacerlo así, o así: mysql -umysqlusername -pmysqlpass databsename -B -e "select * from \`tabalename\`;" | sed 's/\t/","/g;s/^/"/;s/$/"/;s/\n//g' > mysql_exported_table.csv Salu2. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now