Problem when updating a field in bulk with excel.CSV

0

I make a module in which is a data update but it is massive by means of an excel.CSV, I have the following fields in my "worker" table, some are foreign keys of other table:

id_ControlPrimaria  
nombre  
ap_paterno  
ap_materno      
NSS 
CURP    
RFC     
fecha_nac   
id_puesto FK    
id_area FK  
idctg_turno FK  
idctg_empresa FK    
id_nomina FK

What I intend is that only the data of the idctg_turno field be updated according to the id_Control and the other data remain intact. Annex my code of massive update and also the query with which it updates, the problem that I have does not know if it is correct the way that I am doing it since it does not update any data. Thank you.

It's the massive update code:

<?php
//nos permite recepcionar una variable que si exista y que no sea null
if (isset($_POST["enviar"])) {
    require_once("conexion_excel.php");
    require_once("functions_actualizar_turno.php");

    $archivo = $_FILES["archivo"]["name"];
    $archivo_copiado = $_FILES["archivo"]["tmp_name"];
    $archivo_guardado = "copia_" . $archivo;

    //echo $archivo . "esta en la ruta temporal: " . $archivo_copiado;

    if (copy($archivo_copiado, $archivo_guardado)) {
        //echo "se copeo correctamente el archivo temporal a nuestra carpeta de trabajo <br/>";
    } else {
        //echo "hubo un error <br/>";
    }

    if (file_exists($archivo_guardado)) {
         $fp = fopen($archivo_guardado, "r"); //abrir un archivo
         $rows = 0;
         while ($datos = fgetcsv($fp, 1000, ";")) {
                $rows ++;
               // echo $datos[0] . " " . $datos[1] . " " . $datos[2] . " " . $datos[3] . "<br/>";
            if ($rows > 1) {
                $resultado = actualizar_datos($datos[0], $datos[1], $datos[2], $datos[3], $datos[4], $datos[5], $datos[6], $datos[7], $datos[8], $datos[9], $datos[10], $datos[11], $datos[12]);
                if ($resultado) {
                    //echo "se inserto los datos correctamente<br/>";
                } else {
                    //echo "no se inserto <br/>";
                }
            }
         }
    } else {
        echo "No existe el archivo copiado <br/>";
    }
}
?>

This is the query code to update the data:

<?php

function actualizar_datos($id_Control, $fecha, $hora) {
    global $conexion;
    $sentencia = "update trabajador (id_Control,nombre, ap_paterno, ap_materno, NSS, CURP, RFC, fecha_nac, id_puesto, id_area, idctg_turno, idctg_empresa, id_nomina) values ('$id_Control','$nombre','$ap_paterno','$ap_materno','$NSS','$CURP','$RFC','$fecha_nac','$id_puesto','$id_area','$idctg_turno','$idctg_empresa','$id_nomina')";
    $ejecutar = mysqli_query($conexion, $sentencia);

    return $ejecutar;
 }
?>
    
asked by Carlos 04.04.2018 в 08:48
source

0 answers