Visualizzazione dei risultati da 1 a 10 su 10

Hybrid View

  1. #1
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Col codice così postato non si capisce nulla, prima di inviare un messaggio contenente codice, visualizza sempre l'anteprima e se necessario riformattalo, così è illegibile.
    Vado quindi ad intuito: potresti prevedere un campo "modifica" nel quale salvi l'id dell'eventuale contratto che modifica quello in esame, quindi ad esempio quando crei il primo contratto, il campo sarà vuoto, se lo modifichi, salvi il contratto modificato (il suo campo "modifica" sarà vuoto) e nel precedente inserisci l'id di questo nuovo contratto.

    In questo modo puoi decidere se ripetere l'iterazione o no in base al fatto che quel campo sia compilato o meno.

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2018
    residenza
    Vicenza
    Messaggi
    11
    Scusate... non avevo visto l'anteprima.... il codice è questo... non riesco ancora a capire come poter ripetere lo stesso while passando i valori ...
    domanda... i record sono circa 40.000...
    scusate l'ipotesi magari strampalata...: potrei utilizzare 2 array depositando ad ogni ciclo il valore degli id e poi utilizzare gli array per passare i valori a 2 statement per vedere il vecchio valore ed il nuovo?.....
    Scusate ma sono agli inizi e vedo ancora molto buio...

    codice:
    <?php
    
    date_default_timezone_set('Europe/Rome');
    
    // Imposto i parametri di connessione
    $serverName = "localhost";
    $connectionInfo = array(
         "Database"=>"Sicura", 
         "UID"=>"Profiler", 
         "PWD"=>"65tekra20"
        );
    
    //Effettuo la connessione al database
    $conn = sqlsrv_connect( $serverName, $connectionInfo);
    if( $conn === false ) {
         die( print_r( sqlsrv_errors(), true));
    }
    
    // esecuzione della query che imposta i parametri di riferimento per tutti i contratti da aggiornare definizione del primo ciclo
    $sql = "SELECT [IDCONTRATTO] ,[CodiceSezUpdated],[OreSezUpdated] FROM [Sicura].[dbo].[BiriOreSezUpdated]";
    $params = array();
    $options =  array( "Scrollable" => SQLSRV_CURSOR_KEYSET );
    $stmt = sqlsrv_query( $conn, $sql , $params, $options );
    $row_count = sqlsrv_num_rows( $stmt );
    // Se l'oggetto è vuoto restituisco un errore
    if( $stmt === false ) {
         die( print_r( sqlsrv_errors(), true));
    }
    
    //Inizio del primo ciclo, per ogni record origine ricerco i vecchi contratti
    while($obj = sqlsrv_fetch_object($stmt)) {
    //Setto i valori di contratto, sezione ed ore origine
    $contrattoorigine=$obj->IDCONTRATTO;
    $sezioneorigine=$obj->CodiceSezUpdated;
    $oreupdatedorigine=$obj->OreSezUpdated;
    
    //Inposto la prima ricerca per il primo rinnovo
    $sql1 = "SELECT [IDCONTRATTO] ,[SEZIONECONTRATTO] ,[OLD_RifSezioneGemma] ,[ORE_INT], [SEZIONECONTRATTO_Prec] 
    FROM    [Sicura].[dbo].[GEM_SEZIONICONTRATTO] 
    WHERE [IDCONTRATTO]='".$contrattoorigine."' and [SEZIONECONTRATTO]='".$sezioneorigine."'";
    $stmt1 = sqlsrv_query( $conn, $sql1 , $params, $options );
    if( $stmt1 === false ) {
        die( print_r( sqlsrv_errors(), true));
    }
    //Secondo Ciclo, ricerco il primo contratto rinnovato
    while($obj1 = sqlsrv_fetch_object($stmt1)) {
        /**Imposto i valori del primo contratto rinnovato */
        $contrattotoupdate=$obj1->IDCONTRATTO;
        $sezionetoupdate=$obj1->SEZIONECONTRATTO;
        $ore_inttoupdate=$obj1->ORE_INT;
       
    
        $sqlu = "INSERTINTO BiriOreSezUpdatedLog(IDCONTRATTOBASE, CodiceSezUpdatedBASE, OreSezUpdatedBASE, IDCONTRATTOBASETU, CodiceSezTU, OreSezBefore)
    VALUES        ( ?, ?, ?, ?, ?, ? )";
        $params4 = array($contratto, $sezione, $oreupdated,$contratto4,$sezione4, $oreint4);
        $stmtU4 = sqlsrv_query( $conn, $sqlu4, $params4);
    
    
        }
    //FIne sEcondo ciclo
    }
    sqlsrv_close($conn);
    
    
    ?>
    

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 © 2025 vBulletin Solutions, Inc. All rights reserved.