Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/09/2006, 13:18
Avatar de Lolaloleitor
Lolaloleitor
 
Fecha de Ingreso: abril-2006
Mensajes: 22
Antigüedad: 18 años, 5 meses
Puntos: 0
exportar desde Excel a mysql

Buenas, como ya está bien de pedir y preguntar, para una cosa que consigo resolver y se que es un poco lioso para muchos ( ), os dejo aqui el codigo explicadito de como he conseguido volcar datos de un excel en una tabla de la base de datos.
Lo mas lioso era que no coincidian los campos, así que cree un nuevo archivo excel copiando y pegando solo los campos que necesitaba exportar.A continuación guarde el archivo como csv.
a continuacion el codigo:

function conectar() // esta os la sabeis
{
$dbhost="x";
$user="x";
$pass="x";
$db="x";

if(!($link=mysql_connect("$dbhost","$user","$pass" )))//Conexion con la base

{ echo "no se ha podido conectar a la base de datos $dbhost";
exit;}

if(! mysql_select_db("$db",$link) )
{echo "No se ha podido acceder a la bd $dbhost";
exit;

}
return $link;
}

// aquí empieza el tema:

function leerdatos(){

$fp = fopen ( "archivo.csv" , "r" ); //abrir el archivo

while (( $data = fgetcsv ( $fp ,1000, "," )) !== FALSE )

{ // Mientras hay líneas que leer...
$i = 0;
foreach($data as $row)
{$link=conectar();


$array=explode(";",$row); //meto en un array cada uno de los campos separandolos por los ;
//como se cuantos campos hay, creo una variable con cada posicion del array:

$nombre= $array[0];
$apellidos=$array[1] ;
$email=$array[2] ;

// en mi caso tenia que introducir la fecha de insercion
$date=date("Y-m-d H:i:s");

//introduzco los datos en la base de datos:

$result = mysql_query ("INSERT INTO tabla (date , nombre , apellidos , email ) VALUES ( '$date' ,'$nombre' , '$apellidos' , '$email' )",$link);

}

}
fclose ( $fp );
}

leerdatos(); //llamamos a la funcion

Subimos el archivo por ftp y lo abrimos.
A mi al menos me ha funcionado, espero que os sirva a todos y que os inspire nuevas ideas

Un saludo a todos