Topic: Pubblico - Composto da 4 Posts di 2 Utenti.
| 20 Maggio, 2011 23:08 | #1 | ||
|---|---|---|---|
|
salve, è la prima volta che scrivo in questo forum. ho un problema con una serie di istruzioni di update ciao, 1$sql_gg_garanzia = 2"SELECT a.id_scheda AS id_scheda, 3 a.sistema AS sistema, 4 b.data_esercizio AS data_esercizio, 5 datediff(a.data_apertura,b.data_esercizio) AS gg_garanzia 6 FROM kpi_sm_calcolo a, kpi_kit b 7 WHERE a.KIT= b.kit AND a.ambiente='Esercizio';"; 8 9if ($resGaranzia = mysqli_query($db, $sql_gg_garanzia)) { 10 /* fetch associative array */ 11 while ($a_row = mysqli_fetch_row($resGaranzia)) { 12 $sqlUpdgaranzia = "UPDATE kpi_sm_calcolo 13 SET data_esercizio = '$a_row[2]', garanzia = $a_row[3] 14 WHERE id_scheda='$a_row[0]' AND sistema='$a_row[1]';"; 15 echo $sqlUpdgaranzia ."</br>"; 16 mysqli_query($db,$sqlUpdgaranzia); 17 } 18 mysqli_commit($db); HO fatto numerose prove, la singola istruzione presa singolarmente viene eseguita, escludo problemi di sintassi, può essere un problema di qualche parametro di configurazione di mysql o PHP, relativo alla memeoria, alla cache size etcc.. che vada settato in qualche maniera ? Grazie 1000 per l'auto che vorrette darmi, ciao |
|||
| 21 Maggio, 2011 09:42 | #2 | ||
|---|---|---|---|
|
Ciao e benvenuto. Non capisco perchè usi degli alias identici ai nomi dei campi. Tanto vale farne a meno. Detto questo posta un dump delle due tabelle (comprensivo di create e di qualche insert) e il risultato che vorresti ottenere. No PVT tecnici. Non rispondo nemmeno. Usate il forum. |
|||
| 23 Maggio, 2011 10:47 | #3 | ||
|---|---|---|---|
|
uso gli alias perchè una volta riscontrai un problema in mysql nell'identificare i nomi dei campi passati al motore mysql attraverso una stringa php e risolsi così con gli alias, da allora uso questa modalità. Penso che il problema non sia di natura sintattica perchè il pezzo di codice l'ho eseguito corretamente, forse il problema nasce dal fatto che questa istruzione di update è l'ultima di una serie di istruzioni INSERT/SELECT, ora da infatti un problema di sincronizzazione (Commands out of sync; you can't run this command now errno:2014 ), oso allegare l'intero script php, spero di non abusare della vostra pazienza ... 1<?php 2//include("include/dbconnection.php"); 3 4error_reporting(1); 5 6$db = mysqli_init(); 7mysqli_real_connect($db, "localhost","root","","KPI_DB_DBG"); 8 9mysqli_select_db($db, "KPI_DB_DBG"); 10/* set autocommit to off */ 11mysqli_AUTOCOMMIT($db,FALSE); 12 13print_r($_POST); 14print_r($_FILES); 15 16if (isset($_POST['carica']) && $_POST['carica'] == 'Carica') 17{ 18 19 /* Da svuotare ad ogni caricamento: 20 KPI_SM_ORIGINALE, KPI_SM_SISTEMI_PRIDE, KPI_SM_SCARTATE, KPI_SM_CALCOLO 21 */ 22 23echo "Caricamento in corso ........"; 24 25 // Effettuare truncate tabelle 26 /*****/ 27 $sqlTruncateKSO = "TRUNCATE TABLE `KPI_SM_ORIGINALE`;"; 28 $sqlTruncateKSSP= "TRUNCATE TABLE `KPI_SM_SISTEMI_PRIDE`;"; 29 $sqlTruncateKSS = "TRUNCATE TABLE `KPI_SM_SCARTATE`;"; 30 $sqlTruncateKSC = "TRUNCATE TABLE `KPI_SM_CALCOLO`;"; 31 32 $result = mysqli_query($db,$sqlTruncateKSSP) or die("<h3>Errore durante la truncate di KPI_SM_SISTEMI_PRIDE.<br><br>". mysql_error()); 33 $result = mysqli_query($db,$sqlTruncateKSS) or die("<h3>Errore durante la truncate di KPI_SM_SCARTATE.<br><br>". mysql_error()); 34 $result = mysqli_query($db,$sqlTruncateKSC) or die("<h3>Errore durante la truncate di KPI_SM_CALCOLO.<br><br>". mysql_error()); 35 36 $result = mysqli_query($db,$sqlTruncateKSO) or die("<h3>Errore durante la truncate di KPI_SM_ORIGINALE.<br><br>". mysql_error()); 37 38 // libero il dataset 39 // mysqli_free_result($result); 40 41 42 // controllo che non ci siano stati errori nell'upload (codice = 0) 43 if ($_FILES['uploadfile']['error'] == 0){ 44 // upload ok 45 // controllo che il file sia in formato csv 46 if ($_FILES['uploadfile']['type'] != "application/vnd.ms-excel") die("Formato file non valido, è permesso solo il formato csv di Excel"); 47 48 // copio il file dalla cartella temporanea a quella di destinazione mantenendo il nome originale 49 // copy($_FILES['uploadfile']['tmp_name'], "C:\\xampp\\htdocs\\kpi\\backup_files\\".$_FILES['uploadfile']['name']) or die("Impossibile caricare il file"); 50 51 // upload terminato, stampo alcune info sul file 52 echo "Upload terminato con successo:<br>"; 53 echo "Nome file: ".$_FILES['uploadfile']['name']."<br>"; 54 echo "Dimensione file: ".$_FILES['uploadfile']['size']."<br>"; 55 echo "Tipo MIME file: ".$_FILES['uploadfile']['type']."<br>"; ; 56 echo "File temporaneo:".$_FILES['uploadfile']['tmp_name']."<br>"; 57 58 // istruzioni di LOAD su DB 59 $resCount = mysqli_query($db,"SELECT count(*) AS numrighe FROM KPI_SM_ORIGINALE;") or die("<h3>Errore durante la select count(*) di kpi_sm_originale.<br><br>". mysqli_error($db)); 60 $row=mysqli_fetch_object($resCount); 61 echo "<br>Righe:".$row->numrighe."<br>"; 62 63 $filename = "C:\\\\tmp\\\\kpi\\\\".$_FILES['uploadfile']['name']; 64 echo "filename :".$filename; 65 66 if ( $row->numrighe == 0){ 67 // ############# CARICAMENTO KPI_SM_ORIGINALE ##################### 68 echo "Attendere prego, caricamento in esecuzione ......"; 69 $sqlImport = "LOAD DATA LOCAL INFILE '$filename' INTO TABLE `KPI_SM_ORIGINALE` FIELDS TERMINATED BY ';' ENCLOSED BY '\"' ESCAPED BY '\\\' LINES TERMINATED BY '\\r\\n' IGNORE 1 LINES"; 70 71//$sqlImport="LOAD DATA LOCAL INFILE '$filename' INTO TABLE `KPI_SM_ORIGINALE` FIELDS TERMINATED BY ';' ENCLOSED BY '\"' ESCAPED BY '\\\' LINES TERMINATED BY '\\r\\n' IGNORE 1 LINES "; 72//$sqlImport = "LOAD DATA LOCAL INFILE \'C:\\\\tmp\\\\kpi\\\\SM_NCI_1gen2010_3febb2011.csv\' INTO TABLE `KPI_SM_ORIGINALE` FIELDS TERMINATED BY \';\' ENCLOSED BY \'\"\' ESCAPED BY \'\\\\\' LINES TERMINATED BY \'\\r\\n\' IGNORE 1 LINES"; 73 74 echo "<br>sqlImport: ".$sqlImport."<br>"; 75 //$resImport = mysqli_query($db,$sqlImport) or die("<h3>Errore durante la load in tabella<br><br>". mysqli_error($db)."error:".mysqli_errno($db)); 76 $resImport = mysqli_query($db,$sqlImport); 77 78 79 // ############# insert kit in KPI_KIT da kpi_sm_originale ##################### 80 // Al termine del caricamento del file con successo è necessario inserire senza 81 // duplicati il valore della colonna KIT della tabella KPI_SM_ORIGINALE nella medesima colonna della tabella KPI_KIT. 82 // --> TODO: verificare che non iserisca KIT già esistenti <-- TOTO // 83 //$sqlInsKit= "insert into kpi_kit(KIT) select distinct KIT FROM kpi_sm_originale where kit !="";"; 84 85 $sqlInsKit="INSERT INTO kpi_kit(KIT) SELECT DISTINCT a.KIT FROM kpi_sm_originale a 86 WHERE a.kit NOT IN (SELECT kit FROM kpi_kit) AND a.KIT IS NOT NULL AND a.KIT !=''"; 87 88 $result = mysqli_query($db,$sqlInsKit) or die("<h3>Errore durante l'inserimento dei dati di kpi_kit in carico !<br><br>". mysqli_error($db)); 89 90 // ########### PRIMO PUNTO DI COMMIT : DOPO IMPORT FILE .CSV e KPI_KIT ###################### // 91 // if (mysqli_affected_rows($db)) { 92 echo "PRIMO PUNTO DI COMMIT : DOPO IMPORT FILE .CSV e KPI_KIT.</br>"; 93 mysqli_commit($db); 94 //} else { 95 // echo "C'è stato un errore: Faccio rollback di ins kpi_kit."; 96 // mysqli_rollback($db); 97 //} 98 99 // Libero il dataset 100 // mysqli_free_result($result); 101 102 103 // ##################### popolare la tabella kpi_sistemi_pride da kpi_sm_originale per sistemi in carico a Pride ##################### 104 $sqlInsKSPsi= "insert into kpi_sm_sistemi_pride select * from kpi_sm_originale where sistema in (select sistema from kpi_sistemi_pride where in_carico='SI');"; 105 $result = mysqli_query($db,$sqlInsKSPsi) or die("<h3>Errore durante l'aggiornamento dei dati di kpi_sm_sistemi_pride in carico !<br><br>". mysqli_error($db)); 106 107 echo "righe affected by insert in kpi_sm_sistemi_pride :".mysqli_affected_rows($db)."</br>"; 108 109 // ##################### popolare la tabella kpi_sm_scartate da kpi_sm_originale per sistemi NON in carico a Pride ##################### 110 $sqlInsKSSno= "INSERT INTO KPI_SM_SCARTATE( ID_SCHEDA, TEST_FACTORY, AREA_TESTING, SISTEMA, KIT, AMBIENTE, DATA_APERTURA, STATO, SEVERITA, TIPO_SCHEDA, SM_DESIGN, FLAG_BONIFICA, FLAG_COLLAUDABILE, TIPO_ANNULLAMENTO, TEMPO_T1, TEMPO_T2, TEMPO_T3, TEMPO_T4, TEMPO_T5, TEMPO_T6, TIPO_SCARTO ) 111 SELECT ID_SCHEDA, TEST_FACTORY, AREA_TESTING, SISTEMA, KIT, AMBIENTE, DATA_APERTURA, STATO, SEVERITA, TIPO_SCHEDA, SM_DESIGN, FLAG_BONIFICA, FLAG_COLLAUDABILE, TIPO_ANNULLAMENTO, TEMPO_T1, TEMPO_T2, TEMPO_T3, TEMPO_T4, TEMPO_T5, TEMPO_T6, 1 112 FROM kpi_sm_originale WHERE sistema IN ( SELECT sistema FROM kpi_sistemi_pride WHERE in_carico = 'NO' or in_carico='' )"; 113 114 $result = mysqli_query($db,$sqlInsKSSno) or die("<h3>Errore durante l'aggiornamento dei dati di kpi_sm_scartate non in carico !<br><br>". mysqli_error($db)."erno:".mysqli_errno($db)); 115 echo "righe affected by insert in kpi_sm_scartate :".mysqli_affected_rows($db)."</br>"; 116 117 #### inserire in kpi_sm_calcolo da kpi_sm_sistemi_pride 118 $sqlInsKSC="insert into `KPI_SM_CALCOLO` (`ID_SCHEDA`,`TEST_FACTORY`,`AREA_TESTING`,`SISTEMA`,`KIT`,`AMBIENTE`,`DATA_APERTURA`,`STATO`,`SEVERITA`, 119 `TIPO_SCHEDA`,`SM_DESIGN`,`FLAG_BONIFICA`,`FLAG_COLLAUDABILE`,`TIPO_ANNULLAMENTO`,`TEMPO_T1`,`TEMPO_T2`,`TEMPO_T3`,`TEMPO_T4`,`TEMPO_T5`,`TEMPO_T6`) 120 select `ID_SCHEDA`,`TEST_FACTORY`,`AREA_TESTING`,`SISTEMA`,`KIT`,`AMBIENTE`,`DATA_APERTURA`,`STATO`,`SEVERITA`,`TIPO_SCHEDA`,`SM_DESIGN`,`FLAG_BONIFICA`,`FLAG_COLLAUDABILE`, 121 `TIPO_ANNULLAMENTO`,`TEMPO_T1`,`TEMPO_T2`,`TEMPO_T3`,`TEMPO_T4`,`TEMPO_T5`,`TEMPO_T6` from `KPI_SM_SISTEMI_PRIDE`"; 122 123 $result = mysqli_query($db,$sqlInsKSC) or die("<h3>Errore durante l'inserimento dei dati in kpi_sm_calcolo da kpi_sm_sistemi_pride !<br><br>". mysqli_error($db)."erno:".mysqli_errno($db)); 124 echo "righe affected by insert in kpi_sm_calcolo :".mysqli_affected_rows($db)."</br>"; 125 126 // ########### SECONDO PUNTO DI COMMIT: INSERIMENTO IN KPI_KIT nuovi KIT, kpi_sm_sistemi_pride, 127 // ########### KPI_SM_SCARTATE, KPI_SM_CALCOLO ###################### // 128 129 if (mysqli_affected_rows($db)) { 130 echo "SECONDO PUNTO DI COMMIT.</br>"; 131 mysqli_commit($db); 132 } else { 133 echo "C'è stato un errore: Faccio rollback di sqlInsKSC. </br>"; 134 mysqli_rollback($db); 135 } 136 137 // Libero il dataset 138 // mysqli_free_result($result); 139 140 ##### POPOLAMENTO TABELLE KPI_SM_SCARTATE E KPI_SM_CALCOLO ########################## 141 #### caso A: KIT non inerente al calcolo corrente 142 $sqlInsKSSn ="insert into kpi_sm_scartate (ID_SCHEDA, TEST_FACTORY, AREA_TESTING, SISTEMA, KIT, AMBIENTE, DATA_APERTURA, STATO, SEVERITA, TIPO_SCHEDA, SM_DESIGN, FLAG_BONIFICA, FLAG_COLLAUDABILE, TIPO_ANNULLAMENTO, TEMPO_T1, TEMPO_T2, TEMPO_T3, TEMPO_T4, TEMPO_T5, TEMPO_T6, TIPO_SCARTO) 143 select b.ID_SCHEDA, b.TEST_FACTORY, b.AREA_TESTING, b.SISTEMA, b.KIT, b.AMBIENTE, b.DATA_APERTURA, b.STATO, b.SEVERITA, b.TIPO_SCHEDA, b.SM_DESIGN, b.FLAG_BONIFICA, b.FLAG_COLLAUDABILE, b.TIPO_ANNULLAMENTO, b.TEMPO_T1, b.TEMPO_T2, b.TEMPO_T3, b.TEMPO_T4, b.TEMPO_T5, b.TEMPO_T6, 2 144 from kpi_kit a, kpi_sm_calcolo b where a.kit= b.KIT and a.KPI='N'"; 145 146 $result = mysqli_query($db,$sqlInsKSSn) or die("<h3>Errore durante l'inserimento dei dati in kpi_sm_scartate per KPI=N !<br><br>". mysqli_error($db)."erno:".mysqli_errno($db)); 147 echo "righe affected by insert in kpi_sm_scartate :".mysqli_affected_rows($db)."</br>"; 148 149 // Libero il dataset 150 //mysqli_free_result($result); 151 152 // poi le elimina dalla tabella di calcolo 153 $sqlDelKSC = "delete from kpi_sm_calcolo where kit in (select kit from kpi_kit where kpi='N')"; 154 $result = mysqli_query($db,$sqlDelKSC) or die("<h3>Errore durante l'inserimento dei dati in kpi_sm_scartate per KPI=N !<br><br>". mysqli_error($db)."erno:".mysqli_errno($db)); 155 echo "righe affected by insert in kpi_sm_scartate :".mysqli_affected_rows($db)."</br>"; 156 157 #### caso B: AMBIENTE non inerente 158 $sqlInsKSSamb="insert into kpi_sm_scartate (ID_SCHEDA, TEST_FACTORY, AREA_TESTING, SISTEMA, KIT, AMBIENTE, DATA_APERTURA, STATO, SEVERITA, TIPO_SCHEDA, SM_DESIGN, FLAG_BONIFICA, FLAG_COLLAUDABILE, TIPO_ANNULLAMENTO, TEMPO_T1, TEMPO_T2, TEMPO_T3, TEMPO_T4, TEMPO_T5, TEMPO_T6, TIPO_SCARTO) 159 select b.ID_SCHEDA, b.TEST_FACTORY, b.AREA_TESTING, b.SISTEMA, b.KIT, b.AMBIENTE, b.DATA_APERTURA, b.STATO, b.SEVERITA, b.TIPO_SCHEDA, b.SM_DESIGN, b.FLAG_BONIFICA, b.FLAG_COLLAUDABILE, b.TIPO_ANNULLAMENTO, b.TEMPO_T1, b.TEMPO_T2, b.TEMPO_T3, b.TEMPO_T4, b.TEMPO_T5, b.TEMPO_T6, 3 160 from kpi_sm_Calcolo b where b.`AMBIENTE` not in ('Collaudo','Esercizio','Collaudo Utente')"; 161 162 $result = mysqli_query($db,$sqlInsKSSamb) or die("<h3>Errore durante l'inserimento dei dati in kpi_sm_scartate per KPI=N !<br><br>". mysqli_error($db)."erno:".mysqli_errno($db)); 163 echo "righe affected by insert in kpi_sm_scartate (AMBIENTE) :".mysqli_affected_rows($db)."</br>"; 164 165 // poi si eliminano dalla tabella di calcolo 166 $sqlDelKSSamb="delete from kpi_sm_Calcolo where `AMBIENTE` not in ('Collaudo','Esercizio','Collaudo Utente')"; 167 $result = mysqli_query($db,$sqlDelKSSamb) or die("<h3>Errore durante la delete dei dati da kpi_sm_calcolo per Ambinete non inerente !<br><br>". mysqli_error($db)."erno:".mysqli_errno($db)); 168 echo "righe affected by delete from kpi_sm_calcolo (AMBIENTE):".mysqli_affected_rows($db)."</br>"; 169 170 // Libero il dataset 171 // mysqli_free_result($result); 172 173 #### caso C: TIPO_SCHEDA non inerente 174 $sqlInsKSSsch="insert into kpi_sm_scartate (ID_SCHEDA, TEST_FACTORY, AREA_TESTING, SISTEMA, KIT, AMBIENTE, DATA_APERTURA, STATO, SEVERITA, TIPO_SCHEDA, SM_DESIGN, FLAG_BONIFICA, FLAG_COLLAUDABILE, TIPO_ANNULLAMENTO, TEMPO_T1, TEMPO_T2, TEMPO_T3, TEMPO_T4, TEMPO_T5, TEMPO_T6, TIPO_SCARTO) 175 select b.ID_SCHEDA, b.TEST_FACTORY, b.AREA_TESTING, b.SISTEMA, b.KIT, b.AMBIENTE, b.DATA_APERTURA, b.STATO, b.SEVERITA, b.TIPO_SCHEDA, b.SM_DESIGN, b.FLAG_BONIFICA, b.FLAG_COLLAUDABILE, b.TIPO_ANNULLAMENTO, b.TEMPO_T1, b.TEMPO_T2, b.TEMPO_T3, b.TEMPO_T4, b.TEMPO_T5, b.TEMPO_T6, 4 176 from kpi_sm_Calcolo b where b.`TIPO_SCHEDA` != ('Correttiva')"; 177 178 $result = mysqli_query($db,$sqlInsKSSsch) or die("<h3>Errore durante l'inserimento dei dati in kpi_sm_scartate per KPI=N !<br><br>". mysqli_error($db)."erno:".mysqli_errno($db)); 179 echo "righe affected by insert in kpi_sm_scartate (tipo_scheda) :".mysqli_affected_rows($db)."</br>"; 180 181 // poi si eliminano dalla tabella di calcolo 182 $sqlDelKSSsch="DELETE from kpi_sm_Calcolo where `TIPO_SCHEDA` not in ('Correttiva')"; 183 $result = mysqli_query($db,$sqlDelKSSsch) or die("<h3>Errore durante la delete dei dati da kpi_sm_calcolo per Ambinete non inerente !<br><br>". mysqli_error($db)."erno:".mysqli_errno($db)); 184 echo "righe affected by delete from kpi_sm_calcolo (tipo_scheda):".mysqli_affected_rows($db)."</br>"; 185 186 // Libero il dataset 187 // mysqli_free_result($result); 188 189 #### caso D: SM NON COLLAUDABILE 190 $sqlInsKSSflgco="insert into kpi_sm_scartate (ID_SCHEDA, TEST_FACTORY, AREA_TESTING, SISTEMA, KIT, AMBIENTE, DATA_APERTURA, STATO, SEVERITA, TIPO_SCHEDA, SM_DESIGN, FLAG_BONIFICA, FLAG_COLLAUDABILE, TIPO_ANNULLAMENTO, TEMPO_T1, TEMPO_T2, TEMPO_T3, TEMPO_T4, TEMPO_T5, TEMPO_T6, TIPO_SCARTO) 191 select b.ID_SCHEDA, b.TEST_FACTORY, b.AREA_TESTING, b.SISTEMA, b.KIT, b.AMBIENTE, b.DATA_APERTURA, b.STATO, b.SEVERITA, b.TIPO_SCHEDA, b.SM_DESIGN, b.FLAG_BONIFICA, b.FLAG_COLLAUDABILE, b.TIPO_ANNULLAMENTO, b.TEMPO_T1, b.TEMPO_T2, b.TEMPO_T3, b.TEMPO_T4, b.TEMPO_T5, b.TEMPO_T6, 5 192 from kpi_sm_Calcolo b where b.`FLAG_COLLAUDABILE` ='N'"; 193 194 $result = mysqli_query($db,$sqlInsKSSflgco) or die("<h3>Errore durante l'inserimento dei dati in kpi_sm_scartate per FLAG_COLLAUDABILE=N !<br><br>". mysqli_error($db)."erno:".mysqli_errno($db)); 195 echo "righe affected by insert in kpi_sm_scartate (flag_colaudabile) :".mysqli_affected_rows($db)."</br>"; 196 197 198 // poi si eliminano dalla tabella di calcolo 199 $sqlDelKSSflgco="DELETE from kpi_sm_Calcolo where `FLAG_COLLAUDABILE` ='N'"; 200 $result = mysqli_query($db,$sqlDelKSSflgco) or die("<h3>Errore durante la delete dei dati da kpi_sm_calcolo per FLAG_COLLAUDABILE=N !<br><br>". mysqli_error($db)."erno:".mysqli_errno($db)); 201 echo "righe affected by delete from kpi_sm_calcolo (flag_colaudabile):".mysqli_affected_rows($db)."</br>"; 202 203 // Libero il dataset 204 // mysqli_free_result($result); 205 206 #### caso E: SM CON SEVERITA' 5 207 $sqlInsKSSsev="insert into kpi_sm_scartate (ID_SCHEDA, TEST_FACTORY, AREA_TESTING, SISTEMA, KIT, AMBIENTE, DATA_APERTURA, STATO, SEVERITA, TIPO_SCHEDA, SM_DESIGN, FLAG_BONIFICA, FLAG_COLLAUDABILE, TIPO_ANNULLAMENTO, TEMPO_T1, TEMPO_T2, TEMPO_T3, TEMPO_T4, TEMPO_T5, TEMPO_T6, TIPO_SCARTO) 208 select b.ID_SCHEDA, b.TEST_FACTORY, b.AREA_TESTING, b.SISTEMA, b.KIT, b.AMBIENTE, b.DATA_APERTURA, b.STATO, b.SEVERITA, b.TIPO_SCHEDA, b.SM_DESIGN, b.FLAG_BONIFICA, b.FLAG_COLLAUDABILE, b.TIPO_ANNULLAMENTO, b.TEMPO_T1, b.TEMPO_T2, b.TEMPO_T3, b.TEMPO_T4, b.TEMPO_T5, b.TEMPO_T6, 5 209 from kpi_sm_Calcolo b where b.`SEVERITA` ='5 N.A.'"; 210 211 $result = mysqli_query($db,$sqlInsKSSsev) or die("<h3>Errore durante l'inserimento dei dati in kpi_sm_scartate per FLAG_COLLAUDABILE=N !<br><br>". mysqli_error($db)."erno:".mysqli_errno($db)); 212 echo "righe affected by insert in kpi_sm_scartate (sqlDelKSSsev) :".mysqli_affected_rows($db)."</br>"; 213 214 // poi si eliminano dalla tabella di calcolo 215 $sqlDelKSSsev="DELETE from kpi_sm_Calcolo where `SEVERITA` ='5 N.A.'"; 216 $result = mysqli_query($db,$sqlDelKSSsev) or die("<h3>Errore durante la delete dei dati da kpi_sm_calcolo per FLAG_COLLAUDABILE=N !<br><br>". mysqli_error($db)."erno:".mysqli_errno($db)); 217 echo "righe affected by delete from kpi_sm_calcolo (severita):".mysqli_affected_rows($db)."</br>"; 218 219 // Libero il dataset 220 // mysqli_free_result($result); 221 222 #### caso F: SM BONIFICHE 223 $sqlInsKSSbon="insert into kpi_sm_scartate (ID_SCHEDA, TEST_FACTORY, AREA_TESTING, SISTEMA, KIT, AMBIENTE, DATA_APERTURA, STATO, SEVERITA, TIPO_SCHEDA, SM_DESIGN, FLAG_BONIFICA, FLAG_COLLAUDABILE, TIPO_ANNULLAMENTO, TEMPO_T1, TEMPO_T2, TEMPO_T3, TEMPO_T4, TEMPO_T5, TEMPO_T6, TIPO_SCARTO) 224 select b.ID_SCHEDA, b.TEST_FACTORY, b.AREA_TESTING, b.SISTEMA, b.KIT, b.AMBIENTE, b.DATA_APERTURA, b.STATO, b.SEVERITA, b.TIPO_SCHEDA, b.SM_DESIGN, b.FLAG_BONIFICA, b.FLAG_COLLAUDABILE, b.TIPO_ANNULLAMENTO, b.TEMPO_T1, b.TEMPO_T2, b.TEMPO_T3, b.TEMPO_T4, b.TEMPO_T5, b.TEMPO_T6, 7 225 from kpi_sm_Calcolo b where b.`FLAG_BONIFICA` ='Y'"; 226 227 $result = mysqli_query($db,$sqlInsKSSbon) or die("<h3>Errore durante l'inserimento dei dati in kpi_sm_scartate per FLAG_COLLAUDABILE=Y !<br><br>". mysqli_error($db)."erno:".mysqli_errno($db)); 228 echo "righe affected by insert in kpi_sm_scartate (FLAG_COLLAUDABILE=Y) :".mysqli_affected_rows($db)."</br>"; 229 230 // Libero il dataset 231 // mysqli_free_result($result); 232 233 // poi si eliminano dalla tabella di calcolo 234 $sqlDelKSSbon="delete from kpi_sm_calcolo where `FLAG_BONIFICA` ='Y'"; 235 $result = mysqli_query($db,$sqlDelKSSbon) or die("<h3>Errore durante la delete dei dati da kpi_sm_calcolo per FLAG_BONIFICA=Y !<br><br>". mysqli_error($db)."erno:".mysqli_errno($db)); 236 echo "righe affected by delete from kpi_sm_calcolo(FLAG_BONIFICA):".mysqli_affected_rows($db)."erno:".mysqli_errno($db)."</br>"; 237 238 // Libero il dataset 239 // mysqli_free_result($result); 240 241 ############ Caso G: SM esercizio, calcolo gg di garanzia ########## 242 // $sql_p_garanzia = "CALL p_garanzia()"; 243 // $result = mysqli_query($db,$sql_p_garanzia) or die ("<h3>Errore durante il calcolo dei giorni di garanzia <br><br>". mysqli_error($db)."erno:".mysqli_errno($db)); 244 245 // Check esistenza data_esercizio di KPI_KIT 246 $sqlDtEser = "SELECT count(*) AS numDtEser 247 FROM kpi_sm_calcolo a, kpi_kit b 248 WHERE a.KIT = b.kit 249 AND a.ambiente='Esercizio' 250 AND b.data_esercizio is null"; 251 252 $resDtEser = mysqli_query($db,$sqlDtEser) or die("<h3>Errore durante la select count(*) di kpi_sm_originale.<br><br>". mysqli_error($db)); 253 $rowDtEser=mysqli_fetch_object($resDtEser); 254 echo "<br>data_esercizio vuote kpi_kit/kpi_sm_calcolo :".$rowDtEser->numDtEser."<br>"; 255 256 if ($rowDtEser->numDtEser==0) { 257 258 $sql_gg_garanzia = "SELECT a.id_scheda AS id_scheda, 259 a.sistema AS sistema, 260 b.data_esercizio AS data_esercizio, 261 datediff(a.data_apertura,b.data_esercizio) AS gg_garanzia 262 FROM kpi_sm_calcolo a, kpi_kit b 263 WHERE a.KIT= b.kit AND a.ambiente='Esercizio';"; 264 265 if ($resGaranzia = mysqli_multi_query($db, $sql_gg_garanzia)) { 266 /* fetch associative array */ 267 while ($a_row = mysqli_fetch_row($resGaranzia)) { 268 //echo $a_row[0] . " - " . $a_row[1] . " - " .$a_row[2] . " - " .$a_row[3] . "<br>\n"; 269 $sqlUpdgaranzia = "UPDATE kpi_sm_calcolo SET data_esercizio = \"$a_row[2]\", garanzia = \"$a_row[3]\" WHERE id_scheda=\"$a_row[0]\" AND sistema=\"$a_row[1]\";"; 270 271$sqlUpdgaranzia = "UPDATE kpi_sm_calcolo SET data_esercizio = '{$a_row[2]}', garanzia = {$a_row[3]} WHERE id_scheda='{$a_row[0]}' AND sistema='{$a_row[1]}';"; 272 273 $resUpd=mysqli_query($db,$sqlUpdgaranzia) or die("<h3>Errore durante l'UPDATE !<br><br>". mysqli_error($db)."errno:".mysqli_errno($db)); 274 //mysqli_commit($db); 275 //print_r($resUpd)."</br>"; 276 //var_dump($resUpd)."</br>"; 277 echo $sqlUpdgaranzia ."</br>"; 278 } 279 /* commit */ 280 mysqli_commit($db); 281 } 282 // stampa di debug dell'array 283 echo "</br>"; 284 //print_r($argggaranzia); 285 286 // Libero il dataset 287 //mysqli_free_result($result); 288 289 // Scarto e cancellazione delle Sm <0 290 $sqlInsKSSgg0="insert into kpi_sm_scartate (ID_SCHEDA, TEST_FACTORY, AREA_TESTING, SISTEMA, KIT, AMBIENTE, DATA_APERTURA, STATO, SEVERITA, TIPO_SCHEDA, SM_DESIGN, FLAG_BONIFICA, FLAG_COLLAUDABILE, TIPO_ANNULLAMENTO, TEMPO_T1, TEMPO_T2, TEMPO_T3, TEMPO_T4, TEMPO_T5, TEMPO_T6, TIPO_SCARTO) 291 select b.ID_SCHEDA, b.TEST_FACTORY, b.AREA_TESTING, b.SISTEMA, b.KIT, b.AMBIENTE, b.DATA_APERTURA, b.STATO, b.SEVERITA, b.TIPO_SCHEDA, b.SM_DESIGN, b.FLAG_BONIFICA, b.FLAG_COLLAUDABILE, b.TIPO_ANNULLAMENTO, b.TEMPO_T1, b.TEMPO_T2, b.TEMPO_T3, b.TEMPO_T4, b.TEMPO_T5, b.TEMPO_T6, 8 292 from kpi_sm_Calcolo b where b.ambiente ='Esercizio' AND b.garanzia < 0"; 293 294 $result = mysqli_query($db,$sqlInsKSSgg0) or die("<h3>Errore durante l'inserimento dei dati in kpi_sm_scartate per garanzia <0 !<br><br>". mysqli_error($db)."erno:".mysqli_errno($db)); 295 echo "righe affected by insert in kpi_sm_scartate (garanzia <0) :".mysqli_affected_rows($db)."</br>"; 296 297 $sqlDelKSSgg0="delete from kpi_sm_calcolo where ambiente='Esercizio' AND garanzia <0"; 298 $result = mysqli_query($db,$sqlDelKSSgg0) or die("<h3>Errore durante la delete dei dati da kpi_sm_calcolo per garanzia <0 !<br><br>". mysqli_error($db)."erno:".mysqli_errno($db)); 299 echo "righe affected by delete from kpi_sm_calcolo (garanzia <0):".mysqli_affected_rows($db)."</br>"; 300 301 // Scarto e cancellazione delle Sm >20 302 $sqlInsKSSgg20="insert into kpi_sm_scartate (ID_SCHEDA, TEST_FACTORY, AREA_TESTING, SISTEMA, KIT, AMBIENTE, DATA_APERTURA, STATO, SEVERITA, TIPO_SCHEDA, SM_DESIGN, FLAG_BONIFICA, FLAG_COLLAUDABILE, TIPO_ANNULLAMENTO, TEMPO_T1, TEMPO_T2, TEMPO_T3, TEMPO_T4, TEMPO_T5, TEMPO_T6, TIPO_SCARTO) 303 select b.ID_SCHEDA, b.TEST_FACTORY, b.AREA_TESTING, b.SISTEMA, b.KIT, b.AMBIENTE, b.DATA_APERTURA, b.STATO, b.SEVERITA, b.TIPO_SCHEDA, b.SM_DESIGN, b.FLAG_BONIFICA, b.FLAG_COLLAUDABILE, b.TIPO_ANNULLAMENTO, b.TEMPO_T1, b.TEMPO_T2, b.TEMPO_T3, b.TEMPO_T4, b.TEMPO_T5, b.TEMPO_T6, 8 304 from kpi_sm_Calcolo b where b.ambiente ='Esercizio' AND b.garanzia > 20"; 305 306 $result = mysqli_query($db,$sqlInsKSSgg20) or die("<h3>Errore durante l'inserimento dei dati in kpi_sm_scartate per garanzia > 20 !<br><br>". mysqli_error($db)."erno:".mysqli_errno($db)); 307 echo "righe affected by insert in kpi_sm_scartate (garanzia > 20) :".mysqli_affected_rows($db); 308 309 $sqlDelKSSgg20="delete from kpi_sm_calcolo where ambiente='Esercizio' AND garanzia > 20"; 310 $result = mysqli_query($db,$sqlDelKSSgg20) or die("<h3>Errore durante la delete dei dati da kpi_sm_calcolo per garanzia >20 !<br><br>". mysqli_error($db)."erno:".mysqli_errno($db)); 311 echo "righe affected by delete from kpi_sm_calcolo garanzia > 20):".mysqli_affected_rows($db)."</br>"; 312 313 // ########### TERZO PUNTO DI COMMIT: caricamento finale in kpi_sm_calcolo #### 314 315 //if (mysqli_affected_rows($db)) { 316 echo "TERZO PUNTO DI COMMIT.</br>"; 317 mysqli_commit($db); 318 //} else { 319 // echo "C'è stato un errore: Faccio rollback di sqlDelKSSbon"; 320 // mysqli_rollback($db); 321 //} 322 323 // Libero il dataset 324 //mysqli_free_result($result); 325 326 echo "#### CARICAMENTO TERMINATO CONSUCCESSO . "; 327 } else { 328 echo "Ci sono date di esercizio vuote in KPI_KIT: Faccio rollback di sqlDelKSSbon.</br>"; 329 mysqli_rollback($db); 330 } 331 } else { 332 echo "la tabella non è vuota contiene un precedente caricamento.</br>"; 333 } 334 } else { 335 // controllo il tipo di errore 336 if ($_FILES['uploadfile']['error'] == 2) { 337 // errore, file troppo grande (> 1MB) 338 die("Errore, file troppo grande: il massimo consentito è 128MB"); 339 } else { 340 // errore generico 341 die("Errore, impossibile caricare il file"); 342 } 343 } 344 345} else { 346 // errore nei parametri di input da caricamento.html 347 die("Errore nei parametri in POST."); 348} 349mysqli_close($db); 350//mysql_close($connessione); 351 352?> |
|||
| 05 Giugno, 2011 20:50 | #4 | ||
|---|---|---|---|
|
ho risolto installando il mysql workbench suggeritomi da questo forum. |
|||
Condividi su:
Loggati o Registrati per replicare