importar y exportar datos.. en php

Desearía importar y exportar datos de una consulta en php..
Lo primero es exportar..
Cual seria la función para exportar...
¿Encontré por ahí que capturar la cabecera mime de excel? algo ais.. header(etc, etc, etc)
La verdad queno entendí nada...
Si me podrías dar un ejemplo por favor...
La consulta ya la tengo.. ahora ocn un botón donde diga exportar exporte los datos hacia le formato *.csv o *.txt, a cualquiera de los dos..
(Esto es más adelante.. me importa primero exportar, luego ya sera importar...)
Para importar los datos, he escuchado del: load data local... pero no se muy bien como funciona...
Espero tu respuesta.
Y te agradezco anticipadamente...

1 respuesta

1
Respuesta de
Hola
Pues para exportar los datos de una consulta se me ocurre crear un fichero y rellenarlo:
$f = fopen("datos.txt","w");
$sep = ";";
while($reg = mysql_fetch_array($datos) ) {
$linea = $reg['campo1'] . $sep . $reg['campo2'] . $sep . $reg['campo3']; //pones cada campo separado con $sep.
fwrite($f,$linea);
}
fclose($f);
El fichero que crea podría ser csv o txt, en realidad los dos ficheros de texto normales donde los campos están separados con un separador. En el caso de csv el separador es ";".
Para importar, a partir de un fichero csv es muy fácil. Creas un script que lea esos archivos y almacene los datos en la base de datos.
Lo primero de todo es ver la estructura de la base de datos. Tienes que crearla, y para eso no necesitas usar php. Mejor que uses MySQL Control Center, o phpMyAdmin.
Después te creas un script que rellene la base de datos a partir de los datos del fichero. Te puede servir uno parecido al siguiente:
<html> <head> <title></title> </head> </body>
<?php
$fich = "BaseDatos1.csv";
$db = mysql_connect("localhsot", "", "");
mysql_select_db("BaseDatos1", $db);
$contenido = file ( $fich );
for( $i = 0; $i < sizeof( $contenido ); $i++) {
$linea = trim( $contenido[ $i ] );
$arrayDatos = explode(",", $linea);
$consulta = "INSERT INTO Tabla1 VALUES ('".
implode("','", $arrayDatos) ."')";
mysql_query( $consulta );
echo $consulta ."<br>\n";
if(mysql_error()) {
echo mysql_error() ."<br>\n";
}
}
?>
</body> </html>
El código sería similar a este, lo que hace es conectar con una base de datos llamada BaseDatos1 y rellenar la Tabla1 a partir de los datos del fichero BaseDatos1.csv.
Saludos.
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje