Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/01/2012, 18:38
marx-pola
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 22 años, 7 meses
Puntos: 1
Complicada relacion de tablas al Importar archivo csv con php

Hola a todos! Estoy importando un archivo .csv con php a una tabla de mi base. La tabla tiene 4 columnas (el id_linea es un autoincrement y no está afectado y la columna relacion no existe en el archivo .csv):

tabla LINEAS
Código:
id_linea | desc_linea | relacion | cod_linea
El código php que utilizo es este y funciona perfecto:
Código PHP:
$row 1;
$fp fopen ('productos.csv','r'); 
while (
$data fgetcsv ($fp1000";")) 

    
$num count ($data); 
    print 
" <br>"
    
$row++; 
    
    echo 
"$row- ".$data[4].$data[3];
     
    foreach (
$data as $pos=>$dato) { 
        
$data[$pos] = trim($dato);
    } 
  
    if (!
in_array($data[3],$ids)) {
       
   
$ids[] = $data[3];
   
$insertar="INSERT INTO lineas (desc_linea,cod_linea) VALUES ('$data[4]','$data[3]')"
    
mysql_query($insertar);
    }

fclose ($fp); 
Las columnas que importo desde el archivo csv son todas MENOS la columna RELACION.

La columna RELACION debería cargar el id_categoria de la tabla CATEGORIA. De esta manera funcionaría un buscador que armé con tablas relacionadas.

tabla CATEGORIA
Código:
id_categoria 	desc_categoria 	cod_categoria
1               Abrazaderas     ABR
2               Garef 	        GAR
3               Antenas 	ANT
La RELACION entre tablas funciona con la columna RELACION de la tabla LINEAS y el ID de la tabla CATEGORIAS

Y el resultado final debería quedar asi:

tabla LINEAS
Código:
id_linea | desc_linea         | relacion | cod_linea
1        | Banda Mini         | 1        | ABR01
2        | Banda Standard     | 1        | ABR02
3        | Banda Reforzada    | 1        | ABR03
4 	 | Reguladores  A     | 2        | GAR01
5 	 | Reguladores  B     | 2        | GAR02
6        | Antenas A          | 3        | ANT01
7        | Antenas B          | 3        | ANT02
.......
Por ahí, lo que se podría hacer es utilizar las letras de la columna cod_linea (tabla lineas) y compararlas con las 3 letras de cod_categoria (tabla categorias) ya que no existen 2 categorias iguales... y de ahí colocarle el id_categoria en la columna RELACION y así estaría completo... pero, ¿cómo hacerlo?

¿Alguna sugerencia de como colocar el valor correspondiente a la columna RELACION de la tabla LINEAS?

Perdon si está muy complicado pero traté de explicarlo lo mejor posible.

Saludos y mil gracias.
Marx.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.