- Home
- Categorie
- Coding e Sistemistica
- PHP
- Aggiornamento giornaliero
-
Aggiornamento giornaliero
Salve,
stavo pensando ad un progetto con php/mysql con gestione utenti che so fare.Considerando che ogni utente ha un punteggio per ogni articolo che scrive ad esempio che si va a sommare a quello totale salvato in un database c'è un modo per permettere che automaticamente ogni 24 ore dall'iscrizione ogni utente guadagni un punto in più?
Essendo su hosting mi verrebbe subito da pensare NO perché ci vorrebbe un qualcosa sul server che ogni 24 ore lancia una funzione per ricalcolare i punti di ogni utenti e aggiornali sul database.
Le opzioni potrebbero essere:
-ad ogni volta che un utente vuole visualizzare i suoi punti totali (o di altri) si affianca una funzione che ricalcola sulla pagina il punteggio dall'iscrizione, ma ci sarebbe lo svantaggio che dovrei mettere questa funzione ad punto dove si mostrano i numeri e che questo punteggio totale reale non viene scritto nel database perché creato al volo, a meno che alla funzione aggiungo l'aggiornamento al database ma diventerebbe una continua query al db.
-lanciare manualmente ogni 24 ore un mio script via browser, ma mi sembra improponibile e scomodo.Consigli?
-
Esistono dei cron proprio che fanno al caso tuo, via web. Adesso non ricordo il nome, ma tempo fa ne usai uno che faceva proprio questo
-
Se non hai la possibilità di mettere dei cron puoi mettere un file di testo, dove metti il giorno dell'ultimo aggiornamento, lo controlli ogni volta che un utente lancia una pagina, e se necessario fai la query, cosi ne fai solo 1...
-
Io avrei pensato come Thedarkita (se ho capito bene)
Penso che l'importante non sia aggiornare ogni 24 MA che quando un utente accede alle informazioni esse siano corrette! mi spiego:
Se per 3 giorni nessuno va sul sito (spero per te di no =] ) e il quarto gg un utente ci arriva, quell'utente con la sua richiesta alla pagina voluta aggiorna tutto anche dei giorni passati! Quindi io la vedo come un controllo che prima di caricare qualsivolgia pagina aggiorna i dati dei punteggi in modo che all'utente "sembri" che i punti salgano ogni giorno.Spero di essere stato chiaro ciao!
-
@stable said:
Esistono dei cron proprio che fanno al caso tuo, via web. Adesso non ricordo il nome, ma tempo fa ne usai uno che faceva proprio questo
webcron.org sembra funzionare.
-
@temp said:
Io avrei pensato come Thedarkita (se ho capito bene)
Penso che l'importante non sia aggiornare ogni 24 MA che quando un utente accede alle informazioni esse siano corrette! mi spiego:
Se per 3 giorni nessuno va sul sito (spero per te di no =] ) e il quarto gg un utente ci arriva, quell'utente con la sua richiesta alla pagina voluta aggiorna tutto anche dei giorni passati! Quindi io la vedo come un controllo che prima di caricare qualsivolgia pagina aggiorna i dati dei punteggi in modo che all'utente "sembri" che i punti salgano ogni giorno.Spero di essere stato chiaro ciao!
Si infatti è quello che penso io, cioè l'unico modo. Però avendo un server dedicato si potrebbe fare vero senza che nessuno navighi?
metti caso che però io dovrei inviare un'email ad un utente quando raggiunge i 200 punti, se si trova a 199 punti e nessuno naviga per 3 giorni questo utente non arriverà mai a 200 punti al momento giusto anche se "li meritava" 3 giorni fa.
Vedrò i cron :=)
-
se hai un server dedicato metti in cron e via