Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/09/2017, 16:27
paulkees
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 19 años, 6 meses
Puntos: 3
Respuesta: Insert Into dentro de foreach repite filas

Bien, me explico mejor y pongo como la solución que le di:

Al imprimir los array, y suponiendo que en el archivo.txt hay una sola fila, se imprimía esto:

Código PHP:
print_r($datos);

Array ( [
0] => valor [1] => valor [2] => valor )
Array ( [
0] => ) 
Como se ve, el "foreach" me estaba dando un array demás, y ese array demás se insertaba en la tabla mysql.

Lo solucione con un "if()":

Código PHP:
$lineas file('archivo.txt');

foreach (
$lineas as $linea_num => $linea)
{
    
//los datos en el archivo.txt están separados por barra "|" vertical
    
$datos explode("|",$linea);
    
    if(
$datos[0] > '0'){ //if que solociona el array repetido
    
    
$valor_1 $datos[0];
    
$valor_2 $datos[1];
    
$valor_3 $datos[2];
    
    
//INSERT INTO
    
$guardar mysqli_query($con,"INSERT INTO nombre_tabla (id, campo_1, campo_2, campo_3)
    VALUES(NULL, '$valor_1', '$valor_2', '$valor_3')"
);
    
    }
//fin del if
}//fin del foreach 
Lo solucione pero no se si es lo correcto!!!

Saludos!