AVISO: Si el mismo código se actualiza varias veces es porque se encuentra repetido en el archivo subido.

prepare("INSERT INTO user_brigades ( fk_id_brigade, parroquia, ciudad, comunidad, fk_id_user, info_cod ) VALUES (?, ?, ?, ?, ?, ?)"); // ON CONFLICT(email) DO UPDATE SET name = EXCLUDED.name, surname = EXCLUDED.surname if (isset($_FILES['dataCliente'])) { if ($xlsx = SimpleXLSX::parse($_FILES['dataCliente']['tmp_name'])) { $array_fields_name = array(); foreach ($xlsx->rows() as $k => $fields) { if ($k == 0) { $array_fields_name = $fields; continue; // skip first row } // param where | fk_id_brigade $param = (isset($fields[0]) ? $fields[0] : '0'); $param = str_replace(["\r\n", "\n", "\r"], '', $param); $param = strtoupper($param); // echo '-'.$param .'-
'; $dim = $xlsx->dimension(); $cols = $dim[0]; $array_fields = array(); $total_xlsx = $dim[1] - 1; $pass = 0; $pass_2 = 0; // echo $fields[0]; // return; if ($param != "") { // saber si existe en brigadistas $r = UserBrigadesData::getByIdUser($param); // print_r($r); // echo "XXX
"; if ($r == 'null') { // saber si existe la brigada if ($fields[0] != "") { $brigada = BrigadeData::getByIdXlsx($fields[1]); } else { $brigada = 'null'; } // saber si existe el usuario final if ($fields[2] != "") { $user = FinalUsersData::getById($fields[2]); // print_r($user); // echo "
"; } else { $user = 'null'; } for ($i = 0; $i < $cols - 1; $i++) { $data_field = $array_fields_name[$i]; $data_var = (isset($fields[$i]) ? $fields[$i] : ""); // empty($data_var) ? $data_var = "NULL" : $data_var; // ==== comentar para subir sin constraint ==== if ($data_field == "fk_id_brigade") { // echo "fk_id_brigade: ",$data_var."
"; if ($brigada != 'null' && $brigada->id == $data_var) { $pass = 1; } } if ($data_field == "fk_id_user") { // echo "fk_id_user: ",$data_var."
"; if ($user != 'null' && $user->id == $data_var) { $pass_2 = 1; } } // ================================ $array_fields[] = $data_var; // echo ($i+1)."--".$data_var."--
"; } $stmt_insert->bindParam(1, $array_fields[1]); $stmt_insert->bindParam(2, $array_fields[5]); $stmt_insert->bindParam(3, $array_fields[6]); $stmt_insert->bindParam(4, $array_fields[7]); $stmt_insert->bindParam(5, $array_fields[2], PDO::PARAM_INT); $stmt_insert->bindParam(6, $array_fields[8]); // si existe la brigada y el usuario final if ($pass == 1 && $pass_2 == 1) { $stmt_insert->execute(); echo "NUEVO REGISTRO:: " . $array_fields[3] . "
"; } else if ($pass == 0) { echo "No existe una brigada con ID: " . $array_fields[1] . ".
"; } // si existe el usuario if ($pass_2 == 0) { echo "No existe un usuario final con ID: " . $array_fields[2] . ".
"; } // echo $stmt_insert->queryString."
"; } else { for ($i = 0; $i < $cols - 1; $i++) { $array_fields[] = (isset($fields[$i]) ? $fields[$i] : ""); $val_field = (isset($fields[$i]) ? $fields[$i] : ""); $val_field = str_replace("'", "", $val_field); $data_field = $array_fields_name[$i]; if ($data_field != "") { if ($val_field != $r->$data_field) { if ($data_field != "fk_id_user" && $data_field != "fk_id_brigade") { $data_q = $r->$data_field; $r->$data_field = $val_field; echo "Actualizado:$param > $data_field : ($data_q) -POR- ($val_field)
"; } } } } // $result = $r->updatePgXLSX(); } } echo ""; } ExecutorPg::doit('UPDATE public.user_brigades SET municipio = final_users.user_municipio FROM final_users WHERE user_brigades.fk_id_user = final_users.id;'); ExecutorPg::doit('UPDATE public.user_brigades SET parroquia = infocentros.parroquia FROM infocentros WHERE user_brigades.info_cod = infocentros.cod;'); ExecutorPg::doit('UPDATE public.user_brigades SET ciudad = infocentros.ciudad FROM infocentros WHERE user_brigades.info_cod = infocentros.cod;'); ExecutorPg::doit('UPDATE public.user_brigades SET comunidad = infocentros.direccion FROM infocentros WHERE user_brigades.info_cod = infocentros.cod;'); ExecutorPg::doit('UPDATE public.user_brigades SET fk_id_brigade = brigades.id FROM brigades WHERE brigades.info_cod = user_brigades.info_cod;'); } else { echo SimpleXLSX::parseError(); } } ?>