[PHP] If condizioni multiple

Discussione in 'PHP' iniziata da giancadeejay, 13 Maggio 2017.

Tag (etichette):
  1. giancadeejay

    giancadeejay Utente Attivo

    Registrato:
    26 Ottobre 2010
    Messaggi:
    209
    Mi Piace Ricevuti:
    0
    Punteggio:
    16
    Occupazione:
    indefinita
    Località:
    torino
    Ciao a tutti,
    ho un problema studio e ripasso ma non mi entra in testa il discorso "if con condizioni multiple".
    Ho questa pagina.php che ,tramite file csv,deve aggiornarmi la mia bella table del DB ,composta da 4 colonne comprensive di Timestamp.
    Sto cercando di dire al mio file php:
    se all'INSERT INTO trovi valori gia' esistenti non inserire i valori in tabella, se invece sono diversi inseriscili.



    In pratica vorrei che , se il $dato 50 di $dato9 e' uguale a quello che sto UPPANDO .... non iserirlo e dimmelo
    mentre se e' diverso allora inseriscilo.

    Come posso fare? Qualcuno puo' aiutarmi?
    Grazie in anticipo a tutti
     
    Ultima modifica: 19 Maggio 2017
  2. criric

    criric Super Moderatore Membro dello Staff SUPER MOD MOD

    Registrato:
    21 Agosto 2010
    Messaggi:
    5.594
    Mi Piace Ricevuti:
    54
    Punteggio:
    48
    Località:
    TN
    Ciao, per controllare se un dato è già presente nel db devi prima fare una select o in alternativa rendere quel campo univoco sulla tabella ma non credo di aver compreso bene la tua richiesta.
    Non usare l'estensione mysql visto che utilizzi la classe Mysqli
    PHP:
    $dato5 mysql_real_escape_string($_POST['dato5']);
    PHP:
    $dato5 $conn->real_escape_string($_POST['dato5']);
     
  3. giancadeejay

    giancadeejay Utente Attivo

    Registrato:
    26 Ottobre 2010
    Messaggi:
    209
    Mi Piace Ricevuti:
    0
    Punteggio:
    16
    Occupazione:
    indefinita
    Località:
    torino
    Ciao Criric
    In pratica vorrei che al caricamento del mio file.csv, se il $dato 50 di $dato9(della stessa riga) e' uguale a quello che sto UPPANDO .... non iserirlo e dimmelo con un echo
    mentre se e' diverso allora inseriscilo.
    Sono alle prime armi con php ma c'e' molta passione...non e' un linguaggio facile ma mi sto applicando...puoi darmi una mano sul codice?
    Questa e' la pagina che carica i dati:

    Codice:
    $file = "ok.csv";
    
    require '../struttura/config.php';
    require '../struttura/connect.php';
    
    $handle = fopen($file, "r");
    
    $sql="INSERT INTO completo (
     DATO1  ,DATO2  ,DATO3  ,DATO4  ,DATO5  ,DATO6  ,DATO7  ,DATO8  ,DATO9  ,DATO10
    ,DATO11 ,DATO12 ,DATO13 ,DATO14 ,DATO15 ,DATO16 ,DATO17 ,DATO18 ,DATO19 ,DATO20
    ,DATO21 ,DATO22 ,DATO23 ,DATO24 ,DATO25 ,DATO26 ,DATO27 ,DATO28 ,DATO29 ,DATO30
    ,DATO31 ,DATO32 ,DATO33 ,DATO34 ,DATO35 ,DATO36 ,DATO37 ,DATO38 ,DATO39 ,DATO40
    ,DATO41 ,DATO42 ,DATO43 ,DATO44 ,DATO45 ,DATO46 ,DATO47 ,DATO48 ,DATO49 ,DATO50
    ,DATO51 ,DATO52
    ) VALUE (";
    
    $Lcol = 0;
    while( !feof($handle) )
    {
        $row  = fgets($handle);
        $col  = explode(";", $row);
    
        if ($Lcol == 0) $Lcol = count($col);
      
        else
        {
            $q = $sql;
            $i = 1;
            foreach($col as $key => $val)
            {
                if ( empty($val) ) $val = 0;  // riga da inserire
                $q .= "'".addslashes($val)."'".( $i<$Lcol ? "," : ")" );
                $i++;
                
            }
            if ( $i > $Lcol )
            {           
                // var_dump($q); echo "<br /><br />";
                          
                $result = mysql_query($q);
                
                if (!$result)
                {
                    die("Errore nella query $query : " . mysql_error());
                }
            }
        }
    }
                echo "<br><br><br><center><b><h1><font color='white'>FILE DI AGGIORNAMENTO CARICATO CON SUCCESSO !</font></h1></center></b> ";
    fclose($handle);
    
    mysql_close();
     
  4. criric

    criric Super Moderatore Membro dello Staff SUPER MOD MOD

    Registrato:
    21 Agosto 2010
    Messaggi:
    5.594
    Mi Piace Ricevuti:
    54
    Punteggio:
    48
    Località:
    TN
    no ho ancora capito molto bene cosa devi fare, cosa vuoi dire con "dato50 su dato9"?
    I due codici che hai postato sono completamente diversi.
     
  5. giancadeejay

    giancadeejay Utente Attivo

    Registrato:
    26 Ottobre 2010
    Messaggi:
    209
    Mi Piace Ricevuti:
    0
    Punteggio:
    16
    Occupazione:
    indefinita
    Località:
    torino
    Ciao,ti chiedo scusa hai ragione ..ho sbagliato a caricare il primo codice non considerarlo...
    Quindi considerarndo il secondo codice postato
    vorrei che al caricamento del mio file.csv, se il $dato 50 di $dato9(della stessa riga cioe'dato9 e' una sorta di id) e' uguale a quello che sto UPPANDO .... non iserirlo e dimmelo con un echo
    mentre se e' diverso allora inseriscilo.
    P.S. Ho provveduto ad eliminare il primo codice postato...scusate ancora
     
  6. borgo italia

    borgo italia Super Moderatore Membro dello Staff SUPER MOD MOD

    Registrato:
    4 Febbraio 2008
    Messaggi:
    15.779
    Mi Piace Ricevuti:
    126
    Punteggio:
    63
    Sesso:
    Maschio
    Località:
    PR
    Home Page:
    ciao
    perche parli di uppare se stai facendo un insert?
    poi se $dato50 == $dato9 cosa vuoi fare esattamente?
    che non inserisca il dato50 o il dato9 e cosa mettere sul non inserito, vuoto?
     
  7. giancadeejay

    giancadeejay Utente Attivo

    Registrato:
    26 Ottobre 2010
    Messaggi:
    209
    Mi Piace Ricevuti:
    0
    Punteggio:
    16
    Occupazione:
    indefinita
    Località:
    torino
    Ciao Borgo si scusa..

    .."poi se $dato50 == $dato9 cosa vuoi fare esattamente?
    che non inserisca il dato50 o il dato9 e cosa mettere sul non inserito, vuoto?"..
    Vorrei che non inserisse nulla dicendomi : DATO IDENTICO
    altrimenti NUOVO DATO INSERITO CORRETTAMENTE
     
    Ultima modifica: 19 Maggio 2017
Sto caricando...

Condividi questa Pagina