Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente bannato
    Registrato dal
    Sep 2011
    Messaggi
    112

    [PHP] MySQL Non inserire mai 2 dati uguali

    codice:
    $ip = getenv("REMOTE_ADDR");
    $SQL = sprintf("INSERT INTO ip VALUES('$ip','$pagina')");
    $result = $obj->query($SQL);
    Allora cosi salvo, l'ip e la pagina che visitano i miei utenti.
    Volevo sapere.. Come faccio per sovrascrivere i dati?

    Cioè se un IP visita 2 pagine diverse..
    Vorrei avere nel database solo l'ultima pagina vista..

    Cioè, avrei nella tabella cosi:
    199.999.999.999, "miosito.it/3"

    Poi aggiungo, con la query:
    199.999.999.999, "miosito.it/10"
    Come faccio, a cancellare il valore precedente o sovrascriverlo?



    Come fare?

  2. #2

  3. #3
    Utente bannato
    Registrato dal
    Sep 2011
    Messaggi
    112
    ok grazie!

  4. #4
    Originariamente inviato da sir daniel
    fai un DELETE WHERE ip = $ip prima di fare l'insert.
    Considerando che è un'operazione che verrà fatta ogni volta che un utente cambia pagina del sito, quindi abbastanza di frequente
    è molto meglio che anziché fare delete + insert tu faccia una semplice update

    UPDATE <nometabella> SET <nomecampo>=<nuovovalore>
    WHERE ip = $ip

  5. #5
    usa insert on duplicate key update...
    altrimenti dovresti controllare se la riga esiste prima di fare update perdendo il vantaggio dell'update o gestendo la cosa con le sessioni.

    invece con la query che ti suggerisco, non devi fare nessun controllo e si occupa di tutto mysql
    Ciao!

  6. #6
    metti caso che sul tuo sito stanno navigando 10 persone. A quel punto tutti aggiornano le pagine o cambiano pagine ci saranno continue chiamate al database per aggiornare l'indirizzo ip e modificare lo stesso che si era inserito centesimi di secondo prima.
    Perché non salvi l'indirizzo IP di ogni utente connesso? E poi vai a modificare il suo se è diverso da quello che avevi salvato nel db (cioè se ha cambiato indirizzo IP).

  7. #7

  8. #8
    Ma che senso ha conoscere l'ultimo indirizzo IP che ha aggiornato una qualsiasi pagina del sito?
    Ha un senso avere tutti gli indirizzi IP degli utenti (anche se lo possono cambiare facilmente) e se si vuole sapere chi ha aggiornato la pag per ultimo basta inserire un campo timestamp 'ultimo_aggiornamento' e fare una semplice query.

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.