Notification "Nouveau message" - Forum
clemh78
Messages postés
65
Statut
Membre
-
Zarghal Messages postés 8 Statut Membre -
Zarghal Messages postés 8 Statut Membre -
Bonjour,
Je suis actuellement en train de développer un forum et j'ai un problème.
Je sais pas comment faire pour afficher les messages lus et ceux non lus.
Si quelqu'un peut me donner des pistes ou un tutoriel se serais la bien venu.
Merci
Je suis actuellement en train de développer un forum et j'ai un problème.
Je sais pas comment faire pour afficher les messages lus et ceux non lus.
Si quelqu'un peut me donner des pistes ou un tutoriel se serais la bien venu.
Merci
A voir également:
- Notification "Nouveau message" - Forum
- Notification visite profil facebook - Guide
- Recuperer message whatsapp supprimé - Guide
- Notification snapchat mais pas de message - Forum Snapchat
- Notification de message mais pas de message - Forum Facebook Messenger
- Serveur diff message ✓ - Forum Mobile
11 réponses
Voici un lien vers un sujet où le même problème a été abordé et où, personnellement, je considère le problème comme réglé :
https://forums.commentcamarche.net/forum/affich-9157283-forum-en-php-message-lus-non-lus
Sinon, pour résumer, j'ai appliqué cette version-ci sur mon forum. Ça tourne très bien et sur papier, il y a de très grandes chances que ça tourne bien aussi quand il y a un très grand nombre d'utilisateurs.
Explications :
-> Au niveau des tables :
Il te faut une table "sujets" où tu vas placer les sujets du forum
Il te faut une table "messages" où tu vas placer les messages avec un champ reprenant l'ID du sujet, un champ de type BLOB où tu vas stocker, sous fichier .txt, les ID des utilisateurs ayant vu le message (et tu rajoutes tous les champs nécessaires au message)
-> Le principe :
Le fait d'avoir un champ de type BLOB va permettre de stocker, sous forme de fichier .txt, l'ensemble des ID des utilisateurs ayant vu le message. Ainsi, une personne poste un message et dans ce champ BLOB, son ID sera noté. Ensuite, pour chaque utilisateur passant sur la page où se trouve le message (bref, quand celui-ci s'affiche), le champ BLOB est récupéré et mis à jour en rajoutant les ID des utilisateurs l'ayant vu.
Au final, tout utilisateur n'ayant pas son ID dans le champ de type BLOB en rapport au message verra l'icône "Nouveau message" s'afficher. Sinon, ça voudra dire qu'il l'aura lu.
-> Les avantages :
Le principal défaut qu'on peut reprocher aux forums phpBB, xooit et autres, c'est que lorsqu'on se déconnecte, qu'on efface nos traces bref, qu'on se déconnecte d'une quelconque manière, l'ensemble des messages non-lus passe en lu... Ce qui assez ennuyant. Ici, ce n'est pas le cas, aucune mise à jour n'est effectuée sur les champs de type BLOB et donc, si on part, qu'on change de pc ou je ne sais quoi, les messages non-lus restent non-lus.
https://forums.commentcamarche.net/forum/affich-9157283-forum-en-php-message-lus-non-lus
Sinon, pour résumer, j'ai appliqué cette version-ci sur mon forum. Ça tourne très bien et sur papier, il y a de très grandes chances que ça tourne bien aussi quand il y a un très grand nombre d'utilisateurs.
Explications :
-> Au niveau des tables :
Il te faut une table "sujets" où tu vas placer les sujets du forum
Il te faut une table "messages" où tu vas placer les messages avec un champ reprenant l'ID du sujet, un champ de type BLOB où tu vas stocker, sous fichier .txt, les ID des utilisateurs ayant vu le message (et tu rajoutes tous les champs nécessaires au message)
-> Le principe :
Le fait d'avoir un champ de type BLOB va permettre de stocker, sous forme de fichier .txt, l'ensemble des ID des utilisateurs ayant vu le message. Ainsi, une personne poste un message et dans ce champ BLOB, son ID sera noté. Ensuite, pour chaque utilisateur passant sur la page où se trouve le message (bref, quand celui-ci s'affiche), le champ BLOB est récupéré et mis à jour en rajoutant les ID des utilisateurs l'ayant vu.
Au final, tout utilisateur n'ayant pas son ID dans le champ de type BLOB en rapport au message verra l'icône "Nouveau message" s'afficher. Sinon, ça voudra dire qu'il l'aura lu.
-> Les avantages :
Le principal défaut qu'on peut reprocher aux forums phpBB, xooit et autres, c'est que lorsqu'on se déconnecte, qu'on efface nos traces bref, qu'on se déconnecte d'une quelconque manière, l'ensemble des messages non-lus passe en lu... Ce qui assez ennuyant. Ici, ce n'est pas le cas, aucune mise à jour n'est effectuée sur les champs de type BLOB et donc, si on part, qu'on change de pc ou je ne sais quoi, les messages non-lus restent non-lus.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bah mes "sujet" et mes "post" sont stoker sur une table.
Mes moi ou je bock c'est que quand un membre se connecte sur mon forum sa affiche les message qui sont nouveau depuis sa dernière visite si tu veux.
Et je sais pas comment faire ça.
J'espère que ta compris merci.
Mes moi ou je bock c'est que quand un membre se connecte sur mon forum sa affiche les message qui sont nouveau depuis sa dernière visite si tu veux.
Et je sais pas comment faire ça.
J'espère que ta compris merci.
je crois que je commence à comprendre, je pensais que tu parlais de messages privés...
et bien tu pourrais faire une nouvelle table dans laquelle tu aurais uniquement l'id des membres et l'id des messages, si un message est lu, tu ajoutes une ligne avec l'id du membre + l'id du message en question.
Quand le membre se connecte, tu fais une requête pour savoir quels messages ne sont pas dans la table pour ce membre.
ça doit marcher, c'est pas forcément le mieux... à éviter pour les gros forums ^^
une autre solution serait de contrôler les timestamps des messages et des connexions
et bien tu pourrais faire une nouvelle table dans laquelle tu aurais uniquement l'id des membres et l'id des messages, si un message est lu, tu ajoutes une ligne avec l'id du membre + l'id du message en question.
Quand le membre se connecte, tu fais une requête pour savoir quels messages ne sont pas dans la table pour ce membre.
ça doit marcher, c'est pas forcément le mieux... à éviter pour les gros forums ^^
une autre solution serait de contrôler les timestamps des messages et des connexions
Le première j'y avait penser mais consomme beaucoup.
Et la deuxième serait la mieux mais je sais pas trop comment faire car si j'enregistre la dernière visite d'un sujet cela ne marche pas car si j'ai par exemple 3 sujet non lu, la personne li le plus récent logiquement les deux autre vont être lu alors qu'en vrai non.
Après peut être que j'ai mal compris.
Merci pour ta réponse en tout cas.
Et la deuxième serait la mieux mais je sais pas trop comment faire car si j'enregistre la dernière visite d'un sujet cela ne marche pas car si j'ai par exemple 3 sujet non lu, la personne li le plus récent logiquement les deux autre vont être lu alors qu'en vrai non.
Après peut être que j'ai mal compris.
Merci pour ta réponse en tout cas.