Buenas, como ya está bien de pedir y preguntar, para una cosa que consigo resolver y se que es un poco lioso para muchos (
![Stress](http://static.forosdelweb.com/fdwtheme/images/smilies/stress.png)
), 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