Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128

    cancellare e tener un minimo di record salvati

    Salve,
    tengo traccia degli accessi che vengono effettuati dagli utenti.
    ora però devo far anche pulizia, nel senso che non posso tenerli salvati tutti!

    Io vorrei tener traccia (è solo un esempio) degli ultimi accessi effettuati negli ultimi sette giorni, però tenendone salvati massimo 10 accessi per ogni utente.

    come faccio ora a cancellare tutti gli accessi in piu?

    esempio:

    utente1 ha effettuato 18 accessi nell'ultima settimana, mi deve cancellare gli 8 accessi piu vecchi.

    utente2 ha effettuato 7 accessi negli ultimi 14 giorni e 3 negli ultimi 7 giotni, mi deve cancellare i 4 accessi effettuati dopo i 7 giorni.


    qualcuno sa aiutarmi? io tengo traccia della data in DATETIME nel database

  2. #2
    io scomporrei il problema in due momenti:
    - cancellazione dei record con il campo date time inferiore a 7 giorni... e fin qui mi pare una cosa relativamente semplice...

    - nel momento in cui salvo l'accesso dell'utente contestualmente elimino i "suoi record" in eccesso...

    però probabilmente potrebbero esserci modalità più efficienti... ma io nn saprei...

  3. #3
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    ops

    da notare che nel secondo esempio ho sbagliato

    utente2 ha effettuato 7 accessi negli ultimi 14 giorni e 3 negli ultimi 7 giotni, mi deve cancellare i 4 accessi effettuati dopo i 7 giorni.
    correzione:

    utente2 ha effettuato 7 accessi negli ultimi 14 giorni e 3 negli ultimi 7 giotni, non devo cancellare nessun record perchè tengo traccia degli ultimi 10 accessi

    salvo solo gli ultimi 10 punto e basta... ma come cancello gli altri??

  4. #4
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    Potresti

    1) creare un record set degli accessi dell'utente, in ordine crescente sulla data di accesso (dal più vecchio al più recente)
    2) se il record set è strettamente inferiore a 10 fai la insert del nuovo accesso
    3) se il record set non è strettametne inferiore a 10 fai la update del primo record appartenente al record set che rappresenta lo slot più datato

    Fine!
    Siamo sempre troppo gelosi delle nostre grandi piccole opere! - Grino inedito.
    Lavori e Lavoretti

  5. #5
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    Originariamente inviato da Grino
    Potresti

    1) creare un record set degli accessi dell'utente, in ordine crescente sulla data di accesso (dal più vecchio al più recente)
    2) se il record set è strettamente inferiore a 10 fai la insert del nuovo accesso
    3) se il record set non è strettametne inferiore a 10 fai la update del primo record appartenente al record set che rappresenta lo slot più datato

    Fine!
    ho seguito questa logica.. grazie mille

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.