forum en PHP : problème de suivi des messages [résolu] - PHP - Programmation
Marsh Posté le 13-03-2003 à 14:22:26
Ben sans inscription, ce n'est envisageable que le temps de la session non ?
Avec inscriptions, il suffit d'une table de liaison entre les messages et les utilisateurs.
Marsh Posté le 13-03-2003 à 14:26:11
c'est a dire ?
On peut pas stoquer un tableau dans un cookie ? pasque ca m'aurais bien arrangé...
Marsh Posté le 13-03-2003 à 14:51:53
Y aurais pas qqn qui aurait fait un forum sans inscription qui pourrais m'aider siouplait ?
Marsh Posté le 13-03-2003 à 15:15:22
heu avec ou sans inscription , il y atjs des tables, donc jvois pas le blem?
tu stock le nbre de reponses et de vue dans la table
Marsh Posté le 13-03-2003 à 15:18:54
AGA a écrit : heu avec ou sans inscription , il y atjs des tables, donc jvois pas le blem? |
Oui, ca ca marche nikel. Mon problème viens du sivi de la discussion. Quand un utilisateur clique sur mon lien, je veux qu'il soit dirigé directement à la dernière réponse qu'il a vu. Mais comment je fait pour garder cette valeur ?
Marsh Posté le 13-03-2003 à 15:23:18
Si ton visiteur ferme son navigateur, comment tu fait pour le reconnaire la prochaine fois si il n'y a pas d'inscription ?
Marsh Posté le 13-03-2003 à 15:35:20
avec un cookie dans lequel je stocque son nom, sa couleur de fond et ou je stoquais pour chaque question le nb de réponses qu'il avait vu. Mais le pb, c'est que comme il peut y avoir que 20 variables dans le cookie, ben à la 20e question lue, ben pouf, on perd le nom
Donc, je cherche un autre moyen de faire ...
D'ou ma tentative de stoquer un tableau qui contiendrait pour chaque index de question, le nombre de réponses lues. Mais ca non plus ca marche pas
Marsh Posté le 13-03-2003 à 15:56:07
Et si je fait avec une inscription (faudra que j'y passe bientot de toutes facons) comment ca marche pour le suivi alors ? Vous avez fait comment vous ?
Marsh Posté le 13-03-2003 à 16:55:24
benj9002 a écrit : Et si je fait avec une inscription (faudra que j'y passe bientot de toutes facons) comment ca marche pour le suivi alors ? Vous avez fait comment vous ? |
Marsh Posté le 13-03-2003 à 17:40:14
Tu peux stocker un id de session permanent dans son cookie et stocker ce même numéro dans une table dédiée au suivi de la discussion. Chaque fois qu'il consulte un sujet tu enregistres son n° de session + id du sujet + id du dernier message. Mais bon, avant de te faire chier à faire un truc de ce type (qui restera de toute manière bancal) mets d'abord en place un système d'enregistrement, c'est quand même autrement plus urgent
Marsh Posté le 13-03-2003 à 18:11:03
Core 666 a écrit : Tu peux stocker un id de session permanent dans son cookie et stocker ce même numéro dans une table dédiée au suivi de la discussion. Chaque fois qu'il consulte un sujet tu enregistres son n° de session + id du sujet + id du dernier message. Mais bon, avant de te faire chier à faire un truc de ce type (qui restera de toute manière bancal) mets d'abord en place un système d'enregistrement, c'est quand même autrement plus urgent |
Je suis en train justement de faire le système d'enregistrement. Mais avec ton système, le suivi n'est pas conservé alors d'une session à une autre
Marsh Posté le 13-03-2003 à 18:29:21
ReplyMarsh Posté le 13-03-2003 à 18:33:51
benj9002 a écrit : |
je veux juste le finir plutot
c la partie qui me reste la gestion des vues/participés a la maniere des drapos
Marsh Posté le 13-03-2003 à 21:02:52
benj9002 a écrit : |
Si, comme je le disais dans mon premier message il te faut stocker un id de session permanent dans le cookie de tes visiteurs.
Marsh Posté le 13-03-2003 à 21:16:21
Core 666 a écrit : |
Ca craint pas un peu de donner un sid permanent à l'utilisateur ?
Mais sinon pour dans la base, si je mets un champs 'suivi' qui contient pour chaque ligne '$num_question'-'$nb_reponses_vues' et qu'a chaque fois que je charge la page liste des sujets, je fait un appel à la base, c'est lourd quand meme
De meme, je dois à chaque lecture d'un sujet, faire un update de ma base avec le nouveau nombre de réponses lue pour la question
Y a pas mieux comme système ?
Marsh Posté le 13-03-2003 à 21:21:24
benj9002 a écrit : |
Je dis ca uniquement dans le cadre d'un forum dépourvu d'un système d'authentification. C'est clair qu'à partir du moment où tu gères des inscrits, et non plus de visiteurs, il faut procéder autrement.
Citation : Mais sinon pour dans la base, si je mets un champs 'suivi' qui contient pour chaque ligne '$num_question'-'$nb_reponses_vues' et qu'a chaque fois que je charge la page liste des sujets, je fait un appel à la base, c'est lourd quand meme |
Pourquoi le nombre de réponses lues ? Faut stocker l'id du dernier message au moment de la dernière consultation, c'est beaucoup mieux. Pour l'update, c'est instantanné, no soucis. Pour la liste des sujets, après ca dépend comment tu concois ton système. J'utilise une table de 480 000 enregistrements qui sert à stocker la position de chaque vue, la jointure est très rapide, j'arrive même pas à 2% de différence entre la sélection de x sujets et la sélection de x sujets + x vues
Marsh Posté le 13-03-2003 à 21:41:30
Core 666 a écrit : |
Pasque c la méthose que j'ai essayée pour quand je me suis servi de mon cookie (mais ca marchait pas)
Core 666 a écrit : |
Je suppose, c'est comme ca que je vais faire alors
Core 666 a écrit : |
ca fait quand meme une requete de plus
Core 666 a écrit : |
ma table pour la liste des sujets, je veux pas y toucher, à la limite, je peux ajouter des champs, mais c'est tout. Mais pour ton stockage des vues t'as donc une table dédiée ? Elle est comment alors cette table ? Et tu stoques quoi dedans ?
Marsh Posté le 13-03-2003 à 22:52:15
UN conseil :
va sur www.xmbforum, télécharge le partagium, transpose les messages de ton forum existant vers le nouveau, et voilà, t'a un super forum complet comme celui de hardware.fr avec membres avatars etc ...
Et puis comme ça tu pourras m'aider sur le topic que g posé :"problème forum xmb"
Marsh Posté le 13-03-2003 à 23:04:31
tetram78fr a écrit : UN conseil : |
Euh ouais mais non
Je préfère coder mon forum moi meme, meme s'il est moins bien que les tous prets, j'ai comme ca la satisfaction de mon truc à moi Et puis les tous faits, j'aime pas et en plus ils s'intègrent mal à mon site qui est déja en place lui
Bon courage pour ton problème en tous cas
Marsh Posté le 14-03-2003 à 10:44:52
encore un petit up une dernière fois.
Juste pour un petit exemple de comment vous remplissez votre base pour le suivi des messages
Marsh Posté le 14-03-2003 à 15:54:53
Core 666 a écrit : |
Core 666, tu pourrais m'indiquer comment t'as fait ta table ? pasque la je commence à déprimer. j'ai mon forum qui part en couille
Pour le reste je me débrouillerais, mais je suis emmerdé par le format de ma table.
Merci beaucoup d'avance.
Benjamin
Marsh Posté le 16-03-2003 à 13:27:24
benj9002 a écrit : |
Certes, mais tu pourrais en faire 10 comme ca sur une même page que ton temps de génération n'en serait pas affecté (compte p'être 2 ms au pire avec une petite machine)
Citation : ma table pour la liste des sujets, je veux pas y toucher, à la limite, je peux ajouter des champs, mais c'est tout. Mais pour ton stockage des vues t'as donc une table dédiée ? Elle est comment alors cette table ? Et tu stoques quoi dedans ? |
Il n'est pas question de modifier la table dans laquelle tu stockes les sujets, ca ferait un truc carrement dégueulasse, mais de créer une table dédiée. Celle que j'utilise contient 7 champs mais comme mon modèle de données n'est pas public je te donne que les 3 principaux, qui sont suffisants :
- Id du membre
- Id du sujet
- Id du dernier message du sujet
Il suffit juste de faire une jointure sur cette table lors de la sélection de la liste des sujets pour avoir toutes les infos nécessaires à la création des drapeaux. Pour chaque ligne, tu compare l'id du dernier message du sujet de ta table drapeaux avec l'id du dernier message actuel :
- S'il existe et qu'il est inférieur : il y a eu de nouvelles réponses
- S'il existe et qu'il est identique : pas de nouvelles réponses
- S'il n'existe pas : le sujet n'a pas été lu, tu n'affiches rien
Il faut évidement que tu stockes l'id de tes messages sur un champ auto_increment.
Marsh Posté le 16-03-2003 à 14:26:28
Core 666 a écrit : |
Pour l'update, en effet, j'ai pas l'inpression que ca greve vraiment les perfs du serveur
Core 666 a écrit : |
Finalement, c'est bon, j'ai fait comme ca et ca marche trop bien. un chouia lent mais ca va
D'ailleurs on en discute la : http://forum.hardware.fr/forum2.ph [...] h=&subcat= si tu veux
Marsh Posté le 13-03-2003 à 13:58:01
Salut à tous,
Je suis en train de modifier complètement mon forum et je me pose pas mal de questions.
Déja, c'est un forum sans inscription (pour le moment tout du moins) et le premier truc qui m'embète, c'est pour le suivi des messages. J'ai juste un pb avec le stockage de la valeur de la dernière réponse vue. J'ai essayé avec un cookie, mais je peux stoquer que 20 paramètres, donc, c moyen pour le forum :-/ Je me suis dis que j'allais stoquer dans un tableau pour chaque numero de question le nb de réponses vues, mais ca marche pas
Comment vous avez fait vous pour le suivi des messages ?
J'aurais surement d'autres questions au fur et a mesure de l'avancement de mon forum, mais la je suis déja bien coincé
Merci d'avance pour l'aide que vous pourrez m'apporter
Message édité par BenJ9002 le 16-03-2003 à 14:22:15