Visualizzazione dei risultati da 1 a 1 su 1
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2018
    residenza
    Vicenza
    Messaggi
    11

    Iterare piu volte stessa tabella

    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);
    ?>
    
    Ultima modifica di marcobrnb75; 23-05-2018 a 23:00 Motivo: non vorrei si vedesse la password

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.