Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    inserire una data futura nel database

    ciao a tutti,

    premetto che sono un novellino in php,

    vorrei sapere come inserire una data futura a partire da oggi per esempio:

    . un membro si iscrive al sito e compra un servizio oggi e questo servizio dura 1 anno, vorrei inserire nel database la data di oggi e la data di scadenza cioè fra un 1 anno.

    . poi volevo mettere quanti giorni mancano alla scadenza, oggi "- 365" domani "-364" e cosi via.

    . un ultima cosa volevo fare che quel determinato giorno cioè il 6/10/09 venga cancellato in automatico dal database, come posso fare?

    grazie


  2. #2
    se aggiungi la data di scadenza non devi cancellare niente dal database ma non fai fruire i servizi se è scaduto l'account, se l'utente non lo richiede perché buttare i dati?

    per inserire 365 giorni da oggi puoi fare

    INSERT INTO tabella SET campo = NOW() + INTERVAL 365 DAYS

    ciao

  3. #3
    Originariamente inviato da bubu77
    se aggiungi la data di scadenza non devi cancellare niente dal database ma non fai fruire i servizi se è scaduto l'account, se l'utente non lo richiede perché buttare i dati?

    per inserire 365 giorni da oggi puoi fare

    INSERT INTO tabella SET campo = NOW() + INTERVAL 365 DAYS

    ciao
    non mi va, ho un Update:
    su date inserisce la data di oggi mentre su end dovrei inserire la promozione che vale un anno,

    Codice PHP:
    $sql "UPDATE tb_upgrade SET status='VIP', date='$time', end= ?? WHERE username='$username'"
    e vorrei che quando finisce la promozione quello stesso giorno ci sia un Update automatico che modifichi lo status dell'utente.

    grazie
    Ciao

  4. #4
    $sql = "UPDATE tb_upgrade SET status='VIP', date='$time', end= NOW() + INTERVAL 365 DAY WHERE username='$username'";

    per il resto devi lanciare una query ogni giorno, leggi la pillola sui cron che trovi nel regolamento
    ciao

  5. #5
    Originariamente inviato da bubu77
    $sql = "UPDATE tb_upgrade SET status='VIP', date='$time', end= NOW() + INTERVAL 365 DAY WHERE username='$username'";

    per il resto devi lanciare una query ogni giorno, leggi la pillola sui cron che trovi nel regolamento
    ciao
    grazie funziona

    conosco il cron, però non so come utilizzare il comando php, mi puoi dare qualche suggerimento,
    questo è quello che ho una volta che l'utente è stato aggiornato a vip,

    Codice PHP:
    id500     
    username
    clickfantasy
    method
    PayPal     
    pemail
    clickfantasy
    status
    VIP
    date
    2008-10-08 02:13:16     
    end
    :     2009-10-08 02:13:16 
    ora non saprei come fare lo script per dirgli che quel giorno deve aggiornare lo status di questo utente per farlo ritornare a Standard e togliere la data dell'end.

    grazie


  6. #6
    nessuno sa aiutarmi ?


  7. #7
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    EDIT: scusa avevo capito male

    Praticamente dove l'utente si logga o dove fai il controllo della sessione ti spari la funzione che aggiorna i dati dell'utente.

    Codice PHP:
    function controllaVip$utente )
    {
        if( 
    $utente[end]>date("Y-m-d H:i:s" time() ) )
            return 
    false;
        return 
    true;

    Ovviamente e' solo un'idea che aprte dal presupposto che la data end sia in formato sql e cio' implica che puoi fare anche un controllo del genere che php vede come controllo lessicografico che e' possibile fare su tale tipo di date.
    Senno basta che usi le timestamps e da data sql com mktime( ... ) ti genera la timestamp a partire da ora, minuti , secondi , mese , giorno , anno se nn ricordo male.

    poi dove chiami la funzione fai il relativo update sulla tabella

    if( $utente[vip]="true" && controllaVip( $utente ) )
    //tutto ok
    else
    //fai l'update e downgrada l'utente.

    p.s.
    non mi ricordo come e' segnato il campo vip .... modificatelo in modo che il controllo sia corretto per i tuoi dati.

  8. #8
    ti ringrazio per la risposta...

    Codice PHP:
    function controllaVip$utente )
    {
        if( 
    $utente[end]>date("Y-m-d H:i:s" time() ) )
            return 
    false;
        return 
    true;

    non capisco questa funzione, devo metterla nella pagina del login? e a cosa serve?

    poi dove chiami la funzione fai il relativo update sulla tabella

    if( $utente[vip]="true" && controllaVip( $utente ) )
    //tutto ok
    else
    //fai l'update e downgrada l'utente.
    questo è quello che devo mettere nel file cron?
    un'altra cosa essendo che la data finale è in questo modo: "end: 2009-10-08 02:13:16" a che intervallo devo farlo il cron?

    grazie

  9. #9
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Allora la funzione puoi metterla dove ti pare basta che sia visibile dove ti serve.

    require/include/require_once ti fanno inserire/includere/includere solo una volta codice da file differenti.


    CRON?? :master:

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.