Actuellement en train de programmer un forum, je me heurte (Une fois n'est pas coutume ) a un problème
J'aimerais faire comme ici, a gauche de tous les topics, il ya une icone rouge () ou jaune () ; et ce en fonction de s'il ya une nouvelle reponse au topic
J'ai cherché pas mal de temps dans ma tete, et j'ai tjs reussi a faire ca
Si vous avez une idée, n'hésitez pas
Merci a tous
Message édité par Max Evans le 29-06-2002 à 20:33:20
Utilises les cookies ou une authentification sur le site.
Ensuite tu n'as plus qu'a avoir une table "utilisateurs" dans laquelle tu auras un champ qui contient un array.
Ce tableau contient des paires clé/valeur, la clé étant l'ID du topic et la valeur l'ID du dernier message.
Pour chaque visite sur un topic tu complète ou modifie le tableau, soit une nouvelle clé/valeur pour un topic jamais vu, soit tu modifie la valeur dans le cas d'un topic déjà vu.
Dans la page qui liste les topics tu compare la valeur des topics déjà vus avec l'ID du dernier message.
Max Evans
Posté le 29-06-2002 à 22:45:58
Hello
Tout d'abord, merci pour ta reponse
Je suis debutant, du coup, g pas bien compris ce que tu as voulu dire
Donc, g une table qui s'appelle user où je stocke le login, pass, email, icq, etc etc.
Donc, il faut que je créé un nouvo champ c bien ca ?
Mais c quoi un array ?
if ($status[forum_id][topic_id]>= $topic["Date"]){
/* pour l'affichage des forums, on peut vouloir afficher "pas nouveau message" que si il n'y a pas eu de messages après sa dernière visite (et pas uniquement si on a visionné le dernier message comme c'est le cas pour ce forum) . Dans ce cas on test si le forum a déjà été accédé (isset($status["forum_id"])) et on prend le temps max du cookie avec le temps du dernier topic (max($status["forum_id"]))>=$topic["date"]. */
//le sujet a été lu et il n'y a pas de nouveau message
}
else{
//le sujet a été lu et il y a un nouveau message
}
}
else{
//le sujet n'a jamais été lu
}
Le $status[forum_id][topic_id], ca represente koi ?
Je le laisse tel quel, et ca va marcher ?
c'est un tableau à 2 dimensions dont les clés d'accès sont respectivment l'id du forum et l'id du sujet.
tu dois les modifier pour qu'elles correspondent à tes variables.
ex:
l'utilisateur accède au forum 2, sujet 1:
- il va "dé-sérializer" le cookie (d'une ligne de codes bizarres, il va reformer un tableau)
- puis va modifier le dernier temps d'accès à ce sujet $status[2][1]= time();
- puis va réenvoyer le cookie sérializé.
qd tu affiches la liste des sujets, tu lis les sujets de ta base, et tu regardes dans le cookie désérializé si le sujet existe et a été lu.
Message édité par ethernal le 30-06-2002 à 02:53:44
---------------
...oups kernel error...
Olivier51
Posté le 30-06-2002 à 11:48:46
Point de vue vitesse cookies ou base de donnée ?
Max Evans
Posté le 30-06-2002 à 13:26:42
Je viens donc de tester, et g un truc comme ca ds mon cookie :
status
a%3A1%3A%7Bs%3A7%3A%22idforum%22%3Ba%3A1%3A%7Bs%3A5%3A%22topic%22%3Bi%3A1025436350%3B%7D%7D
81.67.52.214/
1024
1540748032
29572858
3818414128
29499432
*
Chez toi aussi ca donne un truc comme ca ?
Message édité par Max Evans le 30-06-2002 à 13:35:32
Publicité
Posté le 30-06-2002 à 13:26:42
ethernal
Chercheur de vérité...
Posté le 30-06-2002 à 13:41:38
Olivier51> cookie sans aucun doute
Max Evans> oui c normal
---------------
...oups kernel error...
Max Evans
Posté le 30-06-2002 à 13:45:37
ethernal a écrit a écrit :
Olivier51> cookie sans aucun doute
Max Evans> oui c normal
Ha ouf oki, parce que la je patoge comme un poisson, je v bientot couler
Sinon, c bizzare, ca a pas l'air de marcher
Max Evans
Posté le 30-06-2002 à 13:46:13
Arf, merde, g rien dit, g oublié de changer un truc
V voir si ca marche ; croisons les doigts !