Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,614

    update e insert ma se i dati sono di meno?

    Salve
    tramite questo codice aggiorno o inserisco campi nel db se presenti o meno tramite l'upload di file csv (qui ho messo solo codice caricamento perchè il resto va bene)
    Essendo che carico dati che alcune volte possono essere di meno di quelli già presenti, caricati in precedenza mi capita che comunque questi campi superflui restano, come posso evitare di farli restare se nel nuovo file che carico sono di meno?
    Premetto che ogni file csv carica sempre i file da zero e quindi sempre da id 1 etc.
    Spero di essermi spiegato in modo chiaro.
    Grazie
    codice:
    
         $ris_news= "SELECT * FROM mio where id ='$id'";
         $result = mysqli_query($db,$ris_news);
         $row = mysqli_fetch_array($result,MYSQLI_ASSOC);   
    
    
    
    
     if ($row > 0) {
    
    
    $query = "UPDATE mio SET id = '$id', Data_creazione = '$Data_creazione',  Dipinto_titolo = '$Dipinto_titolo' where id='$id'";
           
    }
    else
    {
    $query = "INSERT INTO mio SET id = '$id', Data_creazione = '$Data_creazione',  Dipinto_titolo = '$Dipinto_titolo'";       
    }

  2. #2
    Non puoi semplicemente svuotare la tabella e poi fare solo l'insert?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,614
    ho provato così ma visualizzo sempre le righe in +, forse sbaglio qualcosa
    codice:
    if ($row > 0) {
    
    
    $query = "TRUNCATE TABLE mio";
    $query = "INSERT INTO mio SET id = '$id', Data_creazione = '$Data_creazione',  Dipinto_titolo = '$Dipinto_titolo'";         
    }
    else
    {
    $query = "INSERT INTO mio SET id = '$id', Data_creazione = '$Data_creazione',  Dipinto_titolo = '$Dipinto_titolo'";       
    }

  4. #4
    NON fare la select.

    Fai il TRUNCATE e l'INSERT e basta.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,614
    Ho tolto tutto e lasciato solo:
    codice:
    $query = "TRUNCATE TABLE mio";
    $query = "INSERT INTO mio SET id = '$id', Data_creazione = '$Data_creazione',  Dipinto_titolo = '$Dipinto_titolo'";
    ma restano sempre le righe superflue,

  6. #6
    Prova a fare solo il truncate e verificare che la tabella si effettivamente vuota.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,614
    si il TRUNCATE da solo svuota (avevo già provato)

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,614
    anzi caricando il nuovo csv non lo carica proprio lascia quello precedente ecco perchè notavo che restavano le righe in più

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,614
    ho dovuto separare la query e sembra che ora va

  10. #10
    Semplicemente sovrascrivevi il contenuto di $query e, invece di eseguire il truncate, eseguivi solo l'insert.

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.