Notification "Nouveau message" - Forum
Fermé
clemh78
Messages postés
64
Date d'inscription
dimanche 22 juin 2008
Statut
Membre
Dernière intervention
2 avril 2009
-
10 janv. 2009 à 21:10
Zarghal Messages postés 8 Date d'inscription dimanche 27 avril 2008 Statut Membre Dernière intervention 14 septembre 2009 - 14 sept. 2009 à 17:58
Zarghal Messages postés 8 Date d'inscription dimanche 27 avril 2008 Statut Membre Dernière intervention 14 septembre 2009 - 14 sept. 2009 à 17:58
A voir également:
- Notification "Nouveau message" - Forum
- Recuperer message whatsapp - Guide
- Message d'absence thunderbird - Guide
- Forwarded message ✓ - Forum Mail
- Nouveau tag ajouté - Forum Huawei
- Notification messenger sans message ✓ - Forum Logiciels
11 réponses
Zarghal
Messages postés
8
Date d'inscription
dimanche 27 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2009
5
14 sept. 2009 à 17:58
14 sept. 2009 à 17:58
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.
clemh78
Messages postés
64
Date d'inscription
dimanche 22 juin 2008
Statut
Membre
Dernière intervention
2 avril 2009
11 janv. 2009 à 13:33
11 janv. 2009 à 13:33
Up Svp
clemh78
Messages postés
64
Date d'inscription
dimanche 22 juin 2008
Statut
Membre
Dernière intervention
2 avril 2009
12 janv. 2009 à 16:35
12 janv. 2009 à 16:35
Up
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 565
12 janv. 2009 à 16:44
12 janv. 2009 à 16:44
et bien tout simplement en ajoutant un champs "lu" dans la table qui contient le message
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
clemh78
Messages postés
64
Date d'inscription
dimanche 22 juin 2008
Statut
Membre
Dernière intervention
2 avril 2009
12 janv. 2009 à 17:02
12 janv. 2009 à 17:02
Oui sauf qu'il n'y a pas qu'un membre !
C'est un forum !
Merci comme même.
C'est un forum !
Merci comme même.
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 565
12 janv. 2009 à 17:05
12 janv. 2009 à 17:05
mmh ? je vois pas bien le rapport.
Comment sont stockés tes messages dans ta base de données ?
Comment sont stockés tes messages dans ta base de données ?
clemh78
Messages postés
64
Date d'inscription
dimanche 22 juin 2008
Statut
Membre
Dernière intervention
2 avril 2009
12 janv. 2009 à 17:09
12 janv. 2009 à 17:09
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.
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 565
12 janv. 2009 à 17:13
12 janv. 2009 à 17:13
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
clemh78
Messages postés
64
Date d'inscription
dimanche 22 juin 2008
Statut
Membre
Dernière intervention
2 avril 2009
12 janv. 2009 à 17:22
12 janv. 2009 à 17:22
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.
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 565
12 janv. 2009 à 17:46
12 janv. 2009 à 17:46
tu as essayé de décortiquer des forums opensource tels que phpbb pour savoir comme ils s'y prennent ?
Ces forums peuvent sembler difficile à aborder au niveau du code, mais si on isole les parties ça va à peu près.
Ces forums peuvent sembler difficile à aborder au niveau du code, mais si on isole les parties ça va à peu près.
clemh78
Messages postés
64
Date d'inscription
dimanche 22 juin 2008
Statut
Membre
Dernière intervention
2 avril 2009
12 janv. 2009 à 17:52
12 janv. 2009 à 17:52
Je vais voir mais si tu trouve fait moi signe !
Merci
Merci