Ver Mensaje Individual
  #18 (permalink)  
Antiguo 18/06/2013, 11:40
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

Revisando de nuevo como me lo pasaste antes, funciona bien el tema de los errores y los mensajes.
EL problema esta en que si el archivo no tiene ningun error me inserta el ultimo registro del csv unicamente.
Asi esta el codigo
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...