setQuery("SELECT * FROM `trf-details` WHERE `trf-details`.idtrfdetails='$idtrftd'"); $tdquery->execute(); $description = $tdquery->getColumnVal("sample_description"); $trfn = $tdquery->getColumnVal("trfnumber"); $trfrev = $tdquery->getColumnVal("revtrf"); $trfnumb = $trfn . ' VER.' . $trfrev; $trftdnumber = $trfn . 'TF'; $artntype = $tdquery->getColumnVal("idarticletype"); ?> connect_error) { die("Connection failed: " . $conn->connect_error); } $cat3yes = 'N'; // Presumi che non ci siano dpin uguali a 3 e che artntype non sia 1 // Assumi che $artntype sia definita altrove nel codice // $artntype = 1; // esempio di inizializzazione se non definita altrove // Prepara e esegui la query $query = "SELECT iddpicategory FROM trfstandards WHERE idtrfdetails = ?"; $stmt = $conn->prepare($query); if (!$stmt) { die('MySQL prepare error: ' . $conn->error); } $stmt->bind_param("s", $idtrftd); $stmt->execute(); $result = $stmt->get_result(); // Itera su tutti i record restituiti while ($row = $result->fetch_assoc()) { $dpin = $row['iddpicategory']; if ($dpin == 3) { $cat3yes = 'Y'; break; // Interrompi il ciclo se trovi un dpin pari a 3 e artntype è 1 } } $stmt->close(); $conn->close(); ?> setQuery("SELECT COUNT(*) AS recordCount FROM data_td WHERE idtrf = ? AND idcompany = ?"); $checkQuery->bindParam("s", $idtrftd, "-1"); // 's' per string, '-1' indica un parametro $checkQuery->bindParam("s", $idcompany, "-1"); // Aggiungi il secondo parametro $checkQuery->execute(); $recordExists = $checkQuery->getColumnVal("recordCount") > 0; if (!$recordExists) {; // Ottieni l'ultimo valore di tdnumber $lastTdNumberQuery = new WA_MySQLi_RS("lastTdNumberQuery", $cmctrfdb, 1); $lastTdNumberQuery->setQuery("SELECT tdnumber FROM data_td ORDER BY tdnumber DESC LIMIT 1"); $lastTdNumberQuery->execute(); $lastTdNumber = $lastTdNumberQuery->getColumnVal("tdnumber"); // Controlla se lastTdNumber è null o non è un valore numerico if ($lastTdNumber === null || !is_numeric($lastTdNumber)) { // Se non ci sono record o il valore non è numerico, imposta newTdNumber a 1 $newTdNumber = 1; } else { // Altrimenti, incrementa l'ultimo numero di TD trovato $newTdNumber = $lastTdNumber + 1; } // Esegui l'INSERT con il nuovo tdnumber $InsertQuery = new WA_MySQLi_Query($cmctrfdb); $InsertQuery->Action = "insert"; $InsertQuery->Table = "data_td"; $InsertQuery->bindColumn("idtrf", "i", $idtrftd, "WA_DEFAULT"); $InsertQuery->bindColumn("idcompany", "i", $idcompany, "WA_DEFAULT"); $InsertQuery->bindColumn("tdnumber", "s", $trftdnumber, "WA_DEFAULT"); // Usa il nuovo tdnumber $InsertQuery->saveInSession(""); $InsertQuery->execute(); $InsertGoTo = ""; $InsertQuery->redirect($InsertGoTo); $idtd = $cmctrfdb->insert_id; // Recupera l'ID dell'ultimo inserimento //echo $idtd; $tdnumber = $trftdnumber; //insert fill risk area $conn = new mysqli($servername, $username, $password, $dbname); $selectQuery = "SELECT * FROM riskarea_td"; $result = $conn->query($selectQuery); while ($riskRow = $result->fetch_assoc()) { // Converte il valore 'Y'/'N' della colonna default in un intero (1/0) $applicableValue = ($riskRow['default'] == 'Y') ? 1 : 0; // Prepara l'array con gli idriskarea_td che devono avere coveredby settato a 'coverone' $idsForCoverOne = [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]; // Controlla se idriskarea_td è uguale a 24 o è nell'elenco per 'coverone' if ($riskRow['idriskarea_td'] == 24 || in_array($riskRow['idriskarea_td'], $idsForCoverOne)) { $insertQuery = "INSERT INTO fillrisk_td (idriskarea_td, applicable, idcompany, iddata_td, idtrf, coveredby) VALUES (?, ?, ?, ?, ?, ?)"; $stmt = $conn->prepare($insertQuery); // Imposta il valore di coveredby a 'covertwo' o 'coverone' a seconda del caso $coveredbyValue = ($riskRow['idriskarea_td'] == 24) ? 'covertwo' : 'coverone'; $stmt->bind_param("iiiiis", $riskRow['idriskarea_td'], $applicableValue, $idcompany, $idtd, $idtrftd, $coveredbyValue); } else { // Altrimenti, usa la query di inserimento originale senza 'coveredby' $insertQuery = "INSERT INTO fillrisk_td (idriskarea_td, applicable, idcompany, iddata_td, idtrf) VALUES (?, ?, ?, ?, ?)"; $stmt = $conn->prepare($insertQuery); $stmt->bind_param("iiiii", $riskRow['idriskarea_td'], $applicableValue, $idcompany, $idtd, $idtrftd); } $stmt->execute(); } } } // query data_td $conn = new mysqli($servername, $username, $password, $dbname); $sql = "SELECT * FROM data_td WHERE iddata_td = ?"; $stmt = $conn->prepare($sql); $stmt->bind_param("i", $idtd); // "i" indica che l'id è un intero $stmt->execute(); $result = $stmt->get_result(); $rowtd = $result->fetch_assoc(); $stmt->close(); $conn->close(); ?>