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);
?>