05-09-2010, 12:53 PM
Je ne comprends pas… Si au moment où un joueur achète du temps, tu incrémentes simplement de N jours la date stocké dans ta colonne (de type datetime), par exemple nommée account_expires_at (j'utilise un nom parlant et tu devrais en faire autant).
Pour toi, c'est trivial d'afficher une alerte quand il ne reste plus que quelques jours sur le compte du joueur.
En complément, rien ne t'empêche de faire une tâche CRON qui passe toutes les heures et qui suspend les comptes avec une requête type :
Et pour être encore plus strict vis à vis du temps de jeu du joueur, tu peux même exécuter sur chaque page qu'il charge :
Sephi-Chan
$query = sprintf(
"UPDATE accounts SET account_expires_at = DATE_DATE(account_expires_at, INTERVAL %d DAY) WHERE id = %d;",
$number_of_payed_days,
$account_id
);
Pour toi, c'est trivial d'afficher une alerte quand il ne reste plus que quelques jours sur le compte du joueur.
En complément, rien ne t'empêche de faire une tâche CRON qui passe toutes les heures et qui suspend les comptes avec une requête type :
$query = "UPDATE accounts SET closed = 1 WHERE account_expires_at < CURRENT_TIMESTAMP();"
Et pour être encore plus strict vis à vis du temps de jeu du joueur, tu peux même exécuter sur chaque page qu'il charge :
$query = sprintf(
"UPDATE accounts SET closed = 1 WHERE id = %d AND account_expires_at < CURRENT_TIMESTAMP();"
$account_id
);
Sephi-Chan