Salve,
sono un po meno di un principiante, e st� cercando di ciclare la stessa tabella su diversi campi per eseguire delle operazioni di aggiornamento della tabella stessa...
Ho provato questo codice, ma non riesco a capire come, all'interno della prima iterazione, creare la seconda connessione alla stessa tabella (su campi diversi) per poi riaggiornare i dati...
il codice sottostante potrebbe funzionare?..... anche se non sintatticamente corretto a livello di logica sarebbe corretto?
come potrei approcciare una soluzione?
codice:$serverName = "localhost"; $connectionInfo = array( "Database"=>"Sicura", "UID"=>"yyyyyy", "PWD"=>"xxxxxx" ); // connessione al database $conn = sqlsrv_connect( $serverName, $connectionInfo); if( $conn === false ) { die( print_r( sqlsrv_errors(), true)); } // esecuzione della 1a query $sql = "SELECT [IDCONTRATTO] ,[CodiceSezUpdated],[OreSezUpdated] FROM [Sicura].[dbo].[BiriOreSezUpdated]"; $stmt = sqlsrv_query( $conn, $sql); if( $stmt === false ) { die( print_r( sqlsrv_errors(), true)); } $i=1; while($obj = sqlsrv_fetch_object( $stmt)) { //Cicliando la prima tabella recupero i dati e li assegno per l'aggiornamento dei record successivi $contratto=$obj->IDCONTRATTO; $sezione=$obj->CodiceSezUpdated; $ore=$obj->OreSezUpdated; $orenew=$ore*2; // esecuzione della 2a query filtrata con il parametro contratto $sql2 = "SELECT [IDCONTRATTO] ,[CodiceSezUpdated],[OreSezUpdated] FROM [Sicura].[dbo].[BiriOreSezUpdated] where IDCONTRATTOOLD=?"; $stmt2 = sqlsrv_query( $conn, $sql2); //recupero IDCONTRATTO e lo imposto al parametro della 3a query x aggiornamento $sql3 = "UPDATE GEM_SEZIONICONTRATTO SET ORE_INT =123WHERE (IDCONTRATTO = '$sql2->idcontratto') AND (SEZIONECONTRATTO =$sql2->CodiceSezUpdate); $stmt3= sqlsrv_query( $conn, $sql3); //Accodo sulla Tabella di Log i valori old e quelli aggiornati $sql4="INSERT INTO BiriOreSezUpdatedLog(IDCONTRATTO, CodiceSezUpdated, OreSezUpdated, OreSezBefore) VALUES ('$contratto', $sezione, $ore, $orenew)"; $stmt4 = sqlsrv_query( $conn, $sql4); $i++; } // chiudo la connessione al db sqlsrv_close($conn); ?>

Rispondi quotando
