$value) { } } else { // Ci sono stati errori, ad esempio alcuni campi potrebbero essere vuoti // Puoi gestire gli errori qui, ad esempio stampandoli foreach ($errors as $key => $message) { echo "Errore nel campo $key: $message
"; } } } // *: update data_td // Assicurati che la richiesta sia di tipo POST e che l'ID sia stato fornito $conn = mysqli_connect($servername, $username, $password, $dbname); if ($_SERVER['REQUEST_METHOD'] === 'POST' && !empty($idtrftd)) { // Preparazione della parte iniziale della query di aggiornamento $updateQuery = "UPDATE data_td SET "; $updateParts = []; $queryParams = []; // Iterazione sui campi sanificati per costruire la query di aggiornamento foreach ($sanitizedPost as $key => $value) { // Escludi idtrftd dalla parte di aggiornamento della query if ($key !== 'idtrftd') { $updateParts[] = "$key = ?"; $queryParams[] = $value; } } // Controllo se ci sono campi da aggiornare if (count($updateParts) > 0) { $updateQuery .= join(', ', $updateParts) . " WHERE idtrf = ?"; $queryParams[] = $idtrftd; // Aggiungi l'ID alla fine dei parametri della query // Preparazione della query $stmt = $conn->prepare($updateQuery); // Costruzione del tipo di parametri (stringhe, in questo caso) $types = str_repeat('s', count($queryParams)); // Aggiunta dei parametri alla statement $stmt->bind_param($types, ...$queryParams); // Esecuzione della query if ($stmt->execute()) { } // Chiusura dello statement $stmt->close(); } } $conn = new mysqli($servername, $username, $password, $dbname); $checkQuery = "SELECT COUNT(*) as count FROM fillrisk_td WHERE iddata_td = ?"; $stmt = $conn->prepare($checkQuery); $stmt->bind_param("i", $idtd); $stmt->execute(); $result = $stmt->get_result(); $row = $result->fetch_assoc(); if ($row['count'] == 0) { // Non ci sono record, quindi procedi con l'inserimento dei dati da riskarea_td // Prendi tutti i record da riskarea_td $selectQuery = "SELECT * FROM riskarea_td"; $result = $conn->query($selectQuery); while ($riskRow = $result->fetch_assoc()) { // Prepara l'insert per ogni riga trovata in riskarea_td $insertQuery = "INSERT INTO fillrisk_td (idriskarea_td, applicable, idcompany, iddata_td, idtrf) VALUES (?, ?, ?, ?, ?)"; $stmt = $conn->prepare($insertQuery); // Converte il valore 'Y'/'N' della colonna default in un intero (1/0) $applicableValue = ($riskRow['default'] == 'Y') ? 1 : 0; $stmt->bind_param("iiiii", $riskRow['idriskarea_td'], $applicableValue, $idcompany, $idtd, $idtrftd); $stmt->execute(); } } // Chiudi lo statement e la connessione se non ti servono più $stmt->close(); $conn->close(); // query data_td $conn = new mysqli($servername, $username, $password, $dbname); $sql = "SELECT * FROM data_td LEFT JOIN logo_td ON data_td.manufacturerlogoid=logo_td.idlogo_Td LEFT JOIN qualcheck_td ON data_td.proddescription=qualcheck_td.idqualcheck_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(); $row = $result->fetch_assoc(); $prodplace = $row['productionplace_same']; $classshoes = $row['classificationshoes']; $stmt->close(); $conn->close(); $tdquery = new WA_MySQLi_RS("tdquery", $cmctrfdb, 1); $tdquery->setQuery("SELECT * FROM `trf-details` LEFT JOIN modelarticle ON modelarticle.idmodelarticle=`trf-details`.model WHERE `trf-details`.idtrfdetails='$idtrftd'"); $tdquery->execute(); $description = $tdquery->getColumnVal("sample_description"); $trfn = $tdquery->getColumnVal("trfnumber"); $trfrev = $tdquery->getColumnVal("revtrf"); $trfnumb = $trfn . ' VER.' . $trfrev; $photoone = $tdquery->getColumnVal("photoone"); $phototwo = $tdquery->getColumnVal("phototwo"); $virusprot = $tdquery->getColumnVal("virusprotection"); $conn = new mysqli($servername, $username, $password, $dbname); $kindcont = "headercertificate"; // Usa segnaposti per i parametri $sqlcontact = "SELECT * FROM contacts LEFT JOIN countries ON countries.idcountries=contacts.country WHERE contacts.idtrf='$idtrftd' AND contacts.kindofcontacts='$kindcont'"; // Esecuzione della query $resultcontact = $conn->query($sqlcontact); $rowcontact = $resultcontact->fetch_assoc(); $companyname = $rowcontact["companyname"]; $address = $rowcontact["address"] . ' ' . $rowcontact["cap"] . ' ' . $rowcontact["city"]; $country = $rowcontact["namecountry"]; $phone = $rowcontact["telephone"]; $emailtd = $rowcontact["email"]; $vat = $rowcontact["piva"]; $mark = $tdquery->getColumnVal("registeredmark"); $mark = "Ciao"; $contactperson = $rowcontact["contactname"] . ' ' . $rowcontact["contactsurname"]; // Chemical agent $conn = new mysqli($servername, $username, $password, $dbname); $sqlchemical = "SELECT * FROM trfchemicalagent LEFT JOIN chemicalagent ON trfchemicalagent.idchemicalagent = chemicalagent.idchemicalagent WHERE trfchemicalagent.idtrf = '$idtrftd'"; $resultchemical = $conn->query($sqlchemical); $chemicalAgents = []; // Array per memorizzare i risultati if ($resultchemical && $resultchemical->num_rows > 0) { // Riempie l'array con i risultati della query while ($rowchemical = $resultchemical->fetch_assoc()) { $chemicalAgents[] = $rowchemical["name_chemicalagent"]; } } $conn->close(); // Protection cat add $conn = new mysqli($servername, $username, $password, $dbname); $sqlprotect = "SELECT * FROM trfaddrequirements LEFT JOIN additionalrequirements ON trfaddrequirements.idadditionalrequirements = additionalrequirements.idadditionalrequirements WHERE trfaddrequirements.idtrf = '$idtrftd'"; $resultprotect = $conn->query($sqlprotect); $protectionAdd = []; // Array per memorizzare i risultati if ($resultprotect && $resultprotect->num_rows > 0) {; // Riempie l'array con i risultati della query while ($rowprotect = $resultprotect->fetch_assoc()) { $protectionAdd[] = $rowprotect["name_additionalrequirements_it"]; } } $conn->close(); // Connessione al database $conn = new mysqli($servername, $username, $password, $dbname); // Controlla la connessione if ($conn->connect_error) { die("Connessione fallita: " . $conn->connect_error); } // Preparazione della query $tdquerystd = "SELECT * FROM trfstandards LEFT JOIN standards ON trfstandards.idstandards = standards.idstandards LEFT JOIN protectioncategory ON protectioncategory.idprotectioncategory = trfstandards.idprotectioncategory LEFT JOIN dpicategory ON dpicategory.iddpicategory = trfstandards.iddpicategory WHERE trfstandards.idtrfdetails = '$idtrftd'"; // Esecuzione della query $resultstd = $conn->query($tdquerystd); if (!$resultstd) { die("Errore nell'esecuzione della query: " . $conn->error); } $tdquerystd = new WA_MySQLi_RS("tdquerystd", $cmctrfdb, 1); $tdquerystd->setQuery("SELECT * FROM trfstandards LEFT JOIN standards ON trfstandards.idstandards=standards.idstandards LEFT JOIN protectioncategory ON protectioncategory.idprotectioncategory=trfstandards.idprotectioncategory LEFT JOIN dpicategory ON dpicategory.iddpicategory=trfstandards.iddpicategory WHERE trfstandards.idtrfdetails='$idtrftd'"); $tdquerystd->execute(); $archivetrflist = new WA_MySQLi_RS("archivetrflist", $cmctrfdb, 0); $archivetrflist->setQuery("SELECT * FROM `trf-details` LEFT JOIN auth_users ON `trf-details`.iduser=auth_users.id LEFT JOIN article_type ON `trf-details`.idarticletype=article_type.idarticletype LEFT JOIN certificationtype ON certificationtype.idcertificationtype=`trf-details`.idcertification WHERE `trf-details`.idcompany='$idcompany' AND `trf-details`.signedon <>'' ORDER BY `trf-details`.trfnumber"); $archivetrflist->execute(); $x = "Ciao"; // Inizializza Dompdf use Dompdf\Dompdf; $dompdf = new Dompdf(); // Crea il contenuto HTML $html = <<

Esempio di tabella

ID Nome Età
1 Mario Rossi 35
2 {$x} 47
HTML; // Carica il contenuto HTML $dompdf->loadHtml($html); // Imposta le dimensioni e l'orientamento del PDF $dompdf->setPaper('A4', 'portrait'); // Renderizza il PDF $dompdf->render(); // Invia il PDF al browser $dompdf->stream("example.pdf", array("Attachment" => false));