Ver Mensaje Individual
  #17 (permalink)  
Antiguo 18/06/2013, 10:41
Avatar de Nico0601
Nico0601
 
Fecha de Ingreso: diciembre-2012
Ubicación: Buenos Aires, Zona Sur
Mensajes: 134
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Devuelve mal el mensaje de error

Si, es rarisimo, recien andaba re bien...
Ahora probe con este archivo
Código csv:
Ver original
  1. Susca,Luis,20148530867,16357.10,34803.51,0
  2. Pedrin,Sergio,20206910829,16357.00,01716.46,1
  3. Saubidet,Sergio,20215053890,06357.00,26909.07,0
  4. Pieper,Gustavo,20218778772,05073.00,23177.95,1
  5. Fernandez,Gustavo,20176735016,05073.00,04628.59,1
  6. Bianchi,Oscar,20168137797,06357.00,1234.42,0
  7. 1zunzuneguy,daniel,20085694082,03593.00,17395.41,0 // aca puse el uno y no me avisa del error y me inserta todos los demas menos este
Y asi me funcionaba el php
Código PHP:
$error = 0; 
$file = fopen($destino, "r"); 
while (
$datos = fgetcsv ($file, 1000, ",")) 
{ 
    
$num = count($datos); 
    
$apellido = $datos[0]; 
    
$apellido = str_replace("'"," ",$apellido); 
    
$nombre = $datos[1]; 
    
$nombre = str_replace("'"," ",$nombre); 
    
$cuil = $datos[2]; 
    
$basico = $datos[3]; 
    
$bruto = $datos[4]; 
    
$afili = $datos[5]; 
 
    if(!(
preg_match("/^([a-z ñáéíóú ÑÁÉÍÓÚ ]{2,50})$/i",$apellido))){ 
        
$error = 1; 
    }elseif(!(
preg_match("/^([a-z ñáéíóú ÑÁÉÍÓÚ ]{2,50})$/i",$nombre))){ 
        
$error = 2; 
    }elseif(!
cuitValido($cuil)){ 
        
$error = 3; 
    }elseif(!
is_numeric($basico)){ 
        
$error = 4; 
    }elseif(!
is_numeric($bruto)){ 
        
$error = 5; 
    }elseif(
trim((string)$afili) !== "0" && trim((string)$afili) !== "1"){   
        
$error = 6; 
    }
    
$hasError = checkErrors($error, $datos, $nombre, $apellido, $destino);
    if(
$hasError != false){
        echo 
$hasError;
        break;
    }

if(
$error == 0){ 
    if(!
mysql_num_rows(mysql_query("SELECT cuil FROM ddjj WHERE cuil='$cuil'"))){  
        
mysql_query("INSERT INTO ddjj VALUES ('null','$apellido','$nombre','$cuil','$basico','$bruto','$afili')");  
    }else{ 
        
mysql_query("UPDATE ddjj SET apellido='$apellido', nombre='$nombre', cuil='$cuil', basico='$basico', bruto='$bruto', afiliado='$afili' WHERE cuil='$cuil'");  
    }
    
unlink($destino); 
    echo 
"<script> 
            alert('Importacion exitosa'); 
            window.location.href='form.htm'; 
        </script>"
; 
}
}
function 
checkErrors($error, $datos, $nombre, $apellido, $destino){          
    
$mensaje = '';
    if(
$error == 1){ 
        
$mensaje = "La importacion se detuvo por el siguiente error <br /> 
        Corrija el siguiente campo $apellido e importe el archivo nuevamente"
; 
    } 
    elseif(
$error == 2){ 
        
$mensaje = "La importacion se detuvo por el siguiente error <br />
        Corrija el siguiente campo $nombre e importe el archivo nuevamente"
; 
    } 
    elseif(
$error == 3){ 
        
$mensaje = "La importacion se detuvo por el siguiente error <br />
        Corrija el siguiente campo {$datos[2]} e importe el archivo nuevamente"
; 
    } 
    elseif(
$error == 4){ 
        
$mensaje = "La importacion se detuvo por el siguiente error <br />
        Corrija el siguiente campo {$datos[3]} e importe el archivo nuevamente"
; 
    } 
    elseif(
$error == 5){ 
        
$mensaje = "La importacion se detuvo por el siguiente error <br />
        Corrija el siguiente campo {$datos[4]} e importe el archivo nuevamente"
; 
    } 
    elseif(
$error == 6){ 
        
$mensaje = "La importacion se detuvo por el siguiente error <br /> 
        Corrija el siguiente campo {$datos[5]} e importe el archivo nuevamente"
; 
    } 
    
    if(
$mensaje != ''){
        
unlink($destino); 
        return 
$mensaje;
    }
    
    return 
false;
} 
__________________
Nico...