Bonjour,
Une solution simple consiste à utiliser un champ
prochain_repas (de type DATETIME) dans la table qui contient tes smileys.
Il faut également que tes nourritures aient un attribut qui indique combien d'heure la nourriture fait effet (un champ
duree, par exemple).
Ainsi, quand un joueur nourrit son smiley, tu peux mettre à jour le champ
prochain_repas du smiley en lui indiquant l'heure actuelle plus N heures, N étant la valeur du champ
duree de la nourriture donnée. Comme cela :
Code :
UPDATE smileys
SET prochain_repas = DATE_ADD(CURRENT_TIMESTAMP(), INTERVAL (SELECT duree FROM nourritures WHERE id = %d) HOUR)
WHERE id = %d;
Le premier %d est l'identifiant de la nourriture donnée.
Le second %d est l'identifiant du smiley nourri.
Ensuite, sur ta page, tu peux indiquer si le smiley a faim ou non. Voici la requête qui indique les informations sur le smiley.
Code :
SELECT *, IF( CURRENT_TIMESTAMP( ) < prochain_repas, 1, 0 ) AS deja_nourri
FROM smileys
WHERE id = %d;
Tu peux utiliser les champs comme tu le fais sans doute déjà, mais tu as également un champ
deja_nourri qui contient 1 si le smiley est nourri, 0 s'il a faim. Ce champ est temporaire crée lors de la sélection, ce n'est pas un vrai champ de ta table.
Le %d est cette fois à remplacer par l'identifiant du monstre dont tu veux les informations.
Sephi-Chan