[LUG.ro] PHP, MySQL, csv

Fabian Ezequiel Gallina galli.87 en gmail.com
Jue Jun 11 19:24:20 ART 2009


El 11 de junio de 2009 18:42, Fausto Woelflin<faustow en gmail.com> escribió:
> Me olvidaba!
> Una consulta no se si exclusivamente para usuarios de linux, pero acá va de
> todos modos:
>
> en una red interna con interface web escrita en php con mysql necesito
> exportar ciertos datos como csv. Alguien me tiraria un nombre de "algo" para
> empezar a googlear?
> no se bien cómo empezar, me explico?
> por ejemplo: estoy usando eclipse como ide pero ni idea si es tan bueno para
> php en realidad (para java es mi preferido!). Despues, los archivos que yo
> solia crear desde php se resumian a meros archivos de texto, con los datos
> separados por comas si se quiere, pero para esto no se si se puede exportar
> de la manera que yo solia hacer o si necesito pensar totalmente distinto.
> La pregunta en concreto seria..:
>          "*Como harian uds si se sentaran frente al codigo de una red
> interna (totalmente nuevo para ustedes), y en él tuviesen queimplementar la
> funcion de exportar las estadísticas de cada usuario como csv* "
> Mis conocimientos de php no son tan extensos por lo que cualquier ayuda
> puede venir muy bien!
>
> Desde ya muchas gracias de nuevo!
> Saludos a todos

Tengo una buena noticia para vos y es que mysql soporta exportación de
los datos a CSV out of the box.

Tu query puede ser algo como esto:

        $file = 'usuarios.csv';

        $sql = "SELECT * INTO OUTFILE '".$file."' "
            . "FIELDS TERMINATED BY ';' ENCLOSED BY '\"' "
            . "LINES TERMINATED BY '\n' FROM usuarios;";

Ejecutando esa query vas a tener los datos CSV en usuarios.csv.

En ese ejemplo las columnas están separadas por ';', delimitadas por
comillas dobles y las filas por saltos de linea '\n'. Podés customizar
la salida como se te ocurra.

Podés mirar más aca: http://dev.mysql.com/doc/refman/5.0/en/select.html


Saludos,
-- 
Fabián E. Gallina
http://www.caffeinegroup.com.ar


Más información sobre la lista de distribución Lugro