-
Notifications
You must be signed in to change notification settings - Fork 147
Description
Hola a todos, hoy entro en esta productiva comunidad de desarrollo por primera vez, para suplirles con lo que pueda y , como no, poder enriquecerme de vuestra sabiduría.
Quisiera saber si alguien ha usado el componente mencionado en el título (Goodby/csv) para PHP, debido a que tengo un problema con el mismo. Les explico, estoy desarrollando una aplicacion que gestiona licencias de software donde los usuarios se cargan mediante ficheros csv a una BD MySQL y para ello quiero contemplar que cada vez que subo un fichero con los profesores, se compruebe cada registro (fila del csv) para ver si existe en la BD y no duplicarlo. El problema es que el componente parece ser que hace un bucle impícito de todas las sentencias que están delimitadas (csv) y en ese intervalo no puedo comprobar cada fila para dicho propósito. Les paso el código a ver si podéis verlo con claridad.
Esta es una de la funciones que se encargan de lo comentado:
introducir el código aquí
public function InsertarProfesores($ficheroTmp){
try{
$config = new LexerConfig();
$config
->setDelimiter(";") // Customize delimiter. Default value is comma(,)
->setEnclosure("'") // Customize enclosure. Default value is double quotation(")
->setEscape("\") // Customize escape character. Default value is backslash()
->setToCharset('UTF-8') // Customize target encoding. Default value is null, no converting.
;
$lexer = new Lexer($config);
$interpreter = new Interpreter();
$pdo = $this->pdo;
$interpreter->addObserver(function(array $columns) use ($pdo) {
$stmt = $pdo->prepare('INSERT INTO profesores (departamento,dni,nombre, primer_apellido, segundo_apellido,tlf_sms,direccion,email,num_afiliacion, tutor_de) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)');
$stmt->execute($columns);
});
$lexer->parse($ficheroTmp, $interpreter);
}catch(Exception $e){
die($e->getMessage());
}
}
Si podeis ayudarme lo agradecería enormemente debido a que es para un trabajo y necesito solventarlo cuanto antes.
Saludos