Creo que el problema está en esta líena del código: $idcategoria=$categoria[substr($data[3],0,3)];
¿Puede ser? ¿Se puede corregir para que me tome si hay 2 o 3 caracteres para que lo realice igual?
Les muestro como serían las tablas y el código más abajo que uso:
tabla CATEGORIA
Código:
tabla LINEASid_categoria desc_categoria cod_categoria 1 Abrazaderas ABR 2 Garef GAR 3 Antenas ANT 4 Carbones G.V. GV
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 8 | Carbones A | 0 | GV 01 9 | Carbones B | 0 | GV 02 .......
Código PHP:
$row = 1;
$fp = fopen ('productos.csv','r');
$categoria=array();
$result=mysql_query("select * from categoria");
while($row=mysql_fetch_array($result)) $categoria[$row['cod_categoria']]=$row['id_categoria'];
while ($data = fgetcsv ($fp, 1000, ";"))
{
$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];
$idcategoria=$categoria[substr($data[3],0,3)];
$insertar="INSERT INTO lineas (desc_linea,relacion,cod_linea) VALUES ('$data[4]','$idcategoria','$data[3]')";
mysql_query($insertar);
}
}
fclose ($fp);
¿Se puede corregir para que me tome si hay 2 o 3 caracteres para que lo realice igual?
Muchas gracias a todos y saludos.
Marx.