Accueil > Forum > > > > nouveaux messages par membre
nouveaux messages par membre
vendredi 29 septembre 2006 à 11:07:11 |
nouveaux messages par membre

adeliz
|
Bonjour tout le monde :) Voila ma question. Sur mon site, j'ai des membres (enregistrés dans une base de donnée). Chaque membre peux poser un message sur une sorte de livre d'or (messages enregistrés dnas une base de donnée). Ce que je souhaite, c'est qu'à la connection sur le site, chaque membre puisse voir quel(s) message(s) il n'as pas encore lu... J'ai d'abord pensé à travailler sur la base de donnée et d'y enregistrer les messages lus par membres ou pas... Mais je ne sais pas comment faire des contraintes d'intégritées sur une base de donnée en MySQL... Je suis ensuite passé sur le travail des cookies, mais cela le remplirais, cela n'allais pas être propre, et en plus de ça, il suffit que le mmebre se connecte chez quelqu'un d'autre pour ne pas savoir ou il en es dans les messages :( Donc voila; si vous avez une bonne solution, ou si vous savez comment faire des contraintes d'intégritées avec MySQL, je vous attends impatiement. Cordialement, Adeliz.
|
|
vendredi 29 septembre 2006 à 11:14:45 |
Re : nouveaux messages par membre

coockiesch
|
Salut! Le plus simple serait d'enregistrer la date de dernière visite de ton membre: tout les messages ayant été postés ultérieurement seront marqués comme non-lus! Ensuite, une fois cette liste récupérée, tu peux éventuellement la mettre dans un cookie (ou variable de session): chaque fois que le membre lit un des messages, ce l'enlève de la liste à lire... Cette méthode amène un petit pb: si j'ai deux messages ( a et b ) à lire, que je lis a et que je quitte le site, b n'apparaîtra plus comme non lu lors d'une visite ultérieure... C'est pas génial, mais de faire un système qui se rappelle de tout peut demander pas mal d'espace bdd selon le nombre de messages et de membres de ton système... Et bcp de forums (phpBB, ...) fonctionnent comme ceci! @++ R@f www.allpotes.ch: Photos, humour, vidéos, gags, ... "On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
|
|
vendredi 29 septembre 2006 à 11:42:51 |
Re : nouveaux messages par membre

adeliz
|
Oui, j'y ai pensé, mais bon, plus éfficace cela sera, mieux je me porterais... Pour ce qui est de la BDD, je ne pense pas que cela soit trop lourd, cela fait juste une table de plus et autant d'entitées que de membres, pas plus... (Pour tel membre, et pour tel message = Oui ou Non).
En tout cas merci quand même :)
|
|
vendredi 29 septembre 2006 à 12:07:02 |
Re : nouveaux messages par membre

coockiesch
|
Oui, mais si tu fais une entité par msg-membre, tu as une multiplication: 1000 msgs et 50 membres --> 50'000 entrées... Va falloir rassembler un peu, :P www.allpotes.ch: Photos, humour, vidéos, gags, ... "On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
|
|
vendredi 29 septembre 2006 à 12:15:32 |
Re : nouveaux messages par membre

malalam
|
Hello,
je pige pas moi. Si j'ai une table users avec user_id et compagnie. Une table messages avec mess_id, user_id et compagnie
Et que dans ma table messages j'ai un champ 'mess_lu' qui est à 0 si le mec n'a pas lu, et passe à 1 si le mec lit son message...
Ca devient simple, non ??
SELECT mess_id, mess_sujet FROM messages WHERE user_id = $_SESSION['user_id'] AND mess_lu = 0
Ca fait pas un gros select.
|
|
vendredi 29 septembre 2006 à 13:14:15 |
Re : nouveaux messages par membre

adeliz
|
Oui mais si tu as 200 membres et 3000 messages... Imagine toi, la base de donnée va exploser !  Je pense que je ne vais pas avoir le choix, je vias faire comme proposé ci dessus... Sauf que je vais enregistrer la date de derniere visite dnas ma BDD pour que même si le membre passe via un autre PC, on puisse lui dire quels messages sont non lus... Après il faudra réfléchir au comment ne pas marquer les messages en "lu" si il se deconnecte 
|
|
vendredi 29 septembre 2006 à 14:15:09 |
Re : nouveaux messages par membre

malalam
|
Et puis quoi encore ? Moi je fais des SELECT récupérant quelques centaines d'entrées en filtrant sur 4-5 champs et avec 3-4 jointures, dans des tables contenant plusieurs dizaines de milliers d'entrées (idem pour les tables de jointure), et c'est immédiat. Alors je vois mal comment tu pourrais mettre mysql à genou avec 200 membres et 3000 messages, en faisant un select filtré comme celui-ci...
|
|
vendredi 29 septembre 2006 à 14:16:53 |
Re : nouveaux messages par membre

malalam
|
Sans jointure, qui plus est...
|
|
vendredi 29 septembre 2006 à 14:34:07 |
Re : nouveaux messages par membre
|
vendredi 29 septembre 2006 à 15:13:40 |
Re : nouveaux messages par membre

malalam
|
Réponse acceptée !
Là t'en as pas besoin avec ce que je t'ai montré. Sinon : SELECT U.user_nom, M.sujet FROM users U LEFT JOIN messages M ON M.user_id = U.user_id En prenant en compte que tu as un user_id dans ta table messages. Et que tu fais un LEFT JOIN (y en a d'autres...INNER, RIGHT, JOIN tout court...)
|
|
Cette discussion est classée dans : base, donnée, site, messages, membre
Répondre à ce message
Sujets en rapport avec ce message
Selectionner une donnée dans une base de donnée .... [ par Benjamin G ]
Salut,Je voudrais finir mon espace membres avec un module pour savoir qui est en ligne (invités/membres)...Donc quand c'est un membre qui est connecté
Problème Base de Donnée MySQL [ par snakykyle ]
Bonjour tout le monde, Voila, je veux créer un espace membre, le problème s'est que j'ai pas bien saisi comment une fois que le membre s'est identifié
Accéder à une base de donnée distante [ par matlocker ]
Bonjour à tous,Je suis débutant en php et je vais devoir réaliser un site. On me demande une chose simple c'est d'accéder à une base donée. J'ai vu qu
Gallerie et base de donnée [ par Mackdo ]
je voudrais créé une gallerie ou tout les utilisateur de mon site pourrait sidentifier sans se reenregistrer !www.jmusicfrance.com c'est mon site et j
Petite base de donnée... [ par PsykotropyK ]
Bonjour, j'ai quelque base en html, je sais a peu pres faire un site, etc... Par contre, j'ai plus de mal des qu'il faut mettre un peu 'd'interactivit
pseudo admin [ par dragon26 ]
voila j'ai achete un sript ptc tout s'est bien passé pour l'installation mais pour acceder a la base de donnée du site il est indiqué :" Alors pour p
Partager sa bdd pour plusieurs site ? [ par SimsFlorian ]
Bonjour, ici c'est un appelle de détresse :o Je compte créer un site internet, qui aura pour but de donner au webmasteur,des services sur leurs site.
Base De Donnée [ par zeler59 ]
Bonjour tous le monde, tout dabord je suis nouveau dans le forum et je remerci toutes les personnes qui nous aide. Je post car je voit que j'ai un pro
Creer un base de donnée [ par dark_arzane ]
Bonjour à tous!Je me suis lancé dans le PHP avec le site du zero, et j'en suis à la base de donnée.Et j'ai des questions asser bête:-comment creer une
d'ou je peux accéder a la base de donnée de mon site [ par informaticienne1debutante ]
salut,j'ai créée un site qui un en ligne déja.jé tout chargé la base de donnée mysql et les fichiers php de mon site.le prob cé ke j'ai un formulaire
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|