Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    250

    disattivazione + cancellazione record dopo tot giorni

    salve a tutti
    ho una tabella annunci così composta:
    id,
    titolo,
    descrizione,
    data_ins (è un timestamp della data di inserimento annuncio),
    data_update (è un timestamp aggiornato in continuazione e corrisponde all'ultimo aggiornamento)
    durata (viene passato un valore uguale a 30 o 60 o 90 che corrisponde ai giorni)
    attiva (si o no)

    Come faccio a selezionare tutti gli annunci che scadono dopo 30 o 60 o 90 giorni dalla data di inserimento?
    Mi serve 2 query:
    1) seleziona tutti gli annunci scaduti dopo tot giorni (campo durata) dalla data di inserimento (data_ins) e disattivarli x 10 giorni (attiva=no)
    2) cancellare tutti quegli annunci dopo i 10 giorni dalla disattivazione, che nn sono stati riattivati.

    Qualcuno mi può aiutare?
    grazieeeee!!!

  2. #2
    Utente di HTML.it L'avatar di Ranma2
    Registrato dal
    Mar 2003
    Messaggi
    2,648

    Re: disattivazione + cancellazione record dopo tot giorni

    Originariamente inviato da musghs
    salve a tutti
    ho una tabella annunci così composta:
    id,
    titolo,
    descrizione,
    data_ins (è un timestamp della data di inserimento annuncio),
    data_update (è un timestamp aggiornato in continuazione e corrisponde all'ultimo aggiornamento)
    durata (viene passato un valore uguale a 30 o 60 o 90 che corrisponde ai giorni)
    attiva (si o no)

    Come faccio a selezionare tutti gli annunci che scadono dopo 30 o 60 o 90 giorni dalla data di inserimento?
    Mi serve 2 query:
    1) seleziona tutti gli annunci scaduti dopo tot giorni (campo durata) dalla data di inserimento (data_ins) e disattivarli x 10 giorni (attiva=no)
    2) cancellare tutti quegli annunci dopo i 10 giorni dalla disattivazione, che nn sono stati riattivati.

    Qualcuno mi può aiutare?
    grazieeeee!!!
    Codice PHP:
    $sql "SELECT * FROM annunci WHERE data_ins + (60 * 60 * 24 * durata) > NOW()"


    seguendo questa logica fai tutte le altre query

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    250
    hey!
    grazie della risposta.. ma non ho capito..
    nella query, cosa corrisponde ( 60 * 60 * 24 * durata) ??

    Non mi è chiaro quel passaggio..

    riesci a spiegarmelo?

    grazie!

  4. #4
    dato che lo timestamp unix calcola il numero di secondi passati dal 1 gennaio 1970, la formuletta che hai visto significa che cacola il numero di secondi per ogni giorno: infatto 60 secondi * 60 minuti fa 3600, il numero di secondi di un'ora; se moltiplichi 3600 per 24 avrai il numero di secondi di una giornata intera (86400) ; se la moltiplichi per 60 ad esempio otterrai il numero di secondi che son passati in 60 giorni da adesso.

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.