[PHP] If condizioni multiple

giancadeejay

Utente Attivo
26 Ott 2010
224
0
16
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:
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']);
 
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']);
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();
 
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.
 
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
 
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?
 
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:

Discussioni simili