AVISO: Si el mismo código se actualiza varias veces es porque se encuentra repetido en el archivo subido.
prepare("INSERT INTO brigades (
nombre,
estado,
info_id,
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 | nombre
// $param = (isset($fields[0]) ? $fields[0] : '');
$param = (isset($fields[1]) ? $fields[1] : '');
$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;
// echo $fields[1];
// return;
if (!empty($param)) {
// saber si existe
$r = BrigadeData::getByName($param);
// $r = BrigadeData::getByIdXlsx($param);
if ($r == 'null') {
for ($i = 0; $i < $cols - 1; $i++) {
$data_field = $array_fields_name[$i + 1];
$data_var = (isset($fields[$i + 1]) ? $fields[$i + 1] : "");
empty($data_var) ? $data_var = "NULL" : $data_var;
if ($data_field == "info_cod") {
$data_var = str_replace(["\r\n", "\n", "\r"], '', $data_var);
$data_var = strtoupper($data_var);
}
$array_fields[] = $data_var;
// echo ($i+1)."--".$data_var."--
";
}
$stmt_insert->bindParam(1, $array_fields[0]);
$stmt_insert->bindParam(2, $array_fields[1]);
$stmt_insert->bindParam(3, $array_fields[2]);
$stmt_insert->bindParam(4, $array_fields[3]);
$stmt_insert->execute();
echo "NUEVO REGISTRO:: " . $array_fields[3] . "
";
// echo $stmt_insert->queryString."
";
} else {
for ($i = 0; $i < $cols - 1; $i++) {
$array_fields[] = (isset($fields[$i + 1]) ? $fields[$i + 1] : "");
$val_field = (isset($fields[$i + 1]) ? $fields[$i + 1] : "");
$val_field = str_replace("'", "", $val_field);
$data_field = $array_fields_name[$i + 1];
if ($data_field != "") {
if ($val_field != $r->$data_field) {
if ($data_field != "id" && $data_field != "info_id" && $data_field != "info_cod") {
$data_q = $r->$data_field;
$r->$data_field = $val_field;
echo "Actualizado:$param > $data_field : ($data_q) -POR- ($val_field)
";
}
}
}
}
// $result = $r->updatePgXLSX();
}
}
echo "";
}
} else {
echo SimpleXLSX::parseError();
}
}
?>