No has iniciado sesión
Conectar al sistema | Registrar usuario
Categorías Articulo
 
1 votos
PASAR DATOS DE EXEL A MYSQL CON PHP
 
Hola gente foreando encontre este codigo para pasar archivos .csv a mysql por medio de php. esto es algo ya viejo y re visto, lo posteo porque me fue de ayuda y quizá les ayude como a mi (Para los que no saben el archivo csv desde exel se logra llendo a Archivos -> guardar como -> csv)La recomendacion del autor es tener el archivo .csv en la misma carpeta que el script php.
pero eso lo pueden modificar ustedes a gusto.

El Codigo esta comentado y lo dejo tal cual, como debe ser.
 
000 
001 
002 
003 
004 
005 
006 
007 
008 
009 
010 
011 
012 
013 
014 
015 
016 
017 
018 
019 
020 
021 
022 
023 
024 
025 
026 
027 
028 
029 
030 
031 
032 
033 
034 
035 
036 
037 
038 
039 
040 
041 
042 
043 
044 
045 

<?php
 
/* Código que lee un archivo .csv con datos, para luego insertarse en una base de datos, vía MySQL
*  Gracias a JoG
*/   
function Conectarse() //Función para conectarse a la BD
{
       if (!(
$link=mysql_connect("localhost","root","tu_contraseña")))  { //Cambia estos datos
           
echo "Error conectando a la base de datos.";
           exit();
       }
        if (!
mysql_select_db("nombre_de_tu_base_de_datos",$link)) {
            echo 
"Error seleccionando la base de datos.";
           exit();
       }
       return 
$link;
}
$row 1;
$handle fopen("tu_archivo.csv""r")//Coloca el nombre de tu archivo .csv que contiene los datos
while (($data fgetcsv($handle1000";")) !== FALSE) { //Lee toda una linea completa, e ingresa los datos en el array 'data'
    
$num count($data)//Cuenta cuantos campos contiene la linea (el array 'data')
    
$row++;
    
$cadena "INSERT INTO tu_tabla ( nombre_de_registos ) VALUES ("//Cambia los valores 'CampoX' por el nombre de tus campos de tu tabla y colócales los necesarios
 
    
for ($c=0$c $num$c++) { //Aquí va colocando los campos en la cadena, si aun no es el último campo, le agrega la coma (,) para separar los datos
        
if ($c==($num-1))
              
$cadena $cadena."".$data[$c] . "";
        else
              
$cadena $cadena."".$data[$c] . ",";
    }
 
    
$cadena $cadena.");"//Termina de armar la cadena para poder ser ejecutada
    
echo $cadena."<br>";  //Muestra la cadena para ejecutarse
 
     
$enlace=Conectarse();
     
$result=mysql_query($cadena$enlace)//Aquí está la clave, se ejecuta con MySQL la cadena del insert formada
     
mysql_close($enlace);
     }
fclose($handle);
 
?>

<h2>Se insertaron <?php echo $row ?> Registros en la tabla "x"</h2>
 
 
en esta parte me daba error.
 
000 
001 
002 
003 
004 
005 
006 
007 
008 

<?
//tenia comillas simples 
$cadena $cadena." ' ".$data[$c] . " ' ";
 
// al quitarlas me anduvo bien 
 
$cadena $cadena."".$data[$c] . "";
?>
 
Como ven el Codigo es muy sencillo, se puede mejorar y adaptar.

mis gracias y saludos al Autor.
 
 
¿? Resolver dudas
Si tienes problemas o dudas con el contenido del artículo no dudes a preguntar en los foros de PHP de Programación Web indicando el artículo al que te refieres.
 
Comentarios
Este artículo no ha sido comentado hasta el momento
 
Redes Sociales
Programación Webon

Compartir en Google Plus