Foros del Web » Programando para Internet » PHP »

Importar solo una columna de archivo csv con php

Estas en el tema de Importar solo una columna de archivo csv con php en el foro de PHP en Foros del Web. Hola a todos! Quisiera hacerles una consulta... tengo un archivo csv con 6 columnas y necesitaría importar solo 1 columna que sería la segunda (cod_categoria). ...
  #1 (permalink)  
Antiguo 31/08/2011, 12:39
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 21 años, 10 meses
Puntos: 1
Importar solo una columna de archivo csv con php

Hola a todos! Quisiera hacerles una consulta... tengo un archivo csv con 6 columnas y necesitaría importar solo 1 columna que sería la segunda (cod_categoria). Esta columna tiene nombres que se repiten y necesitaría que se carguen solo una vez.

Actualmente para importar toda la base utilizo este código:
Código PHP:
include('con.php');

$row 1;
$fp fopen ('lista.csv','r');
while (
$data fgetcsv ($fp1000";"))
{
$num count ($data);
print 
" <br>";
$row++;
echo 
"$row- ".$data[0].$data[1].$data[2].$data[3].$data[4].$data[5].$data[6].$data[7];
$insertar="INSERT INTO producto (id_articulo,cod_categoria,categoria,cod_linea,linea,descripcion,precio,unidad) VALUES ('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]','$data[5]','$data[6]','$data[7]')";
mysql_query($insertar);
}
fclose ($fp); 
Se puede importar solo una columna?

Muchas gracias y saludos. Marx.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #2 (permalink)  
Antiguo 31/08/2011, 12:58
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 8 meses
Puntos: 194
Respuesta: Importar solo una columna de archivo csv con php

Podrías ir agregándolos a un arreglo, verificando que no exista el valor repetido, y luego agregarlos, seria algo así:

Código PHP:
<?

include('con.php');

$codigos = array();
$fp fopen('lista.csv''r');

while (
$data fgetcsv($fp1000";")) {

    if(!
in_array($data[1], $codigos)){
        
$codigos[] = $data[1];
    }
}

foreach(
$codigos as $codigo){
    
$insertar="INSERT INTO tabla (campo_codigo) VALUES ('$codigo')";
    
mysql_query($insertar); 
}

fclose($fp);
?>
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives

Etiquetas: columna, csv, mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:42.