IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] Problème forum php


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Luffy49
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 399
    Par défaut [Tableaux] Problème forum php
    Je me suis mis un objectif faire un forum php. C'est peut être un peu ambitieux.

    Pour l'instant voilà le résultat :

    http://luffy49.sytes.net/forum

    J'ai un problème et je ne vois pas du tous comment le gérer :

    - Comment faire pour que l'on sache quelle topic a été vu pour chaque utilisateur ?

    J'ai bien 2-3 idée mais les requettes a chaque nouveau topic serai trop lourde ( updater chaque profil utilisateur pour chaque topic sa me paraît lourd ) surtout que mon ambition n'est pas de faire un site professionnel mais un site amateur histoire de me familiariser avec le php

  2. #2
    Membre éclairé Avatar de Giantrick
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    300
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 300
    Par défaut
    Citation Envoyé par Luffy49
    - Comment faire pour que l'on sache quelle topic a été vu pour chaque utilisateur ?
    Je pense que tu devrais donner plus d'information sur ta base de donnée pour que l'on puisse t'aider.

    Mais ma suggestion serait que tu utilises une table de jointure entre ta table membre et ta table de topic afin de ne pas avoir d'update à faire sur les deux tables principales (membre et topic) mais uniquement des insert sur une table mixte que tu pourrais appeler (membre_topic) et qui contiendrais uniquement les id_membres et id_topics.

    A suivre...

    ps : je suis aller voir ton forum et bien que les sujets parraîsse intéressants, les couleurs me font tellement mal aux yeux que je ne suis pas resté... (domage)

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2006
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 379
    Par défaut
    Une ébauche de réponse : (de plus ceci n'est qu'une idée)

    Il faut jouer sur les dates de la dernière visite {last_visite} et sur le dernier post de chaque topic.
    Tu peux faire un :
    Code {last_post} : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT MAX( ## ici le champ de la date du post ##) etc ...
    Si {last_post} > {last_visite}, alors l'utilisateur n'a forcement pas lu le dernier message, donc afficher le topic comme non lu.

    Je pense que c'est une manière très efficace d'afficher les messages non lu à la connexion ... (Même s'il y a un défaut majeur)

    Après, je ne sais pas du tout comment gérer, de façon "optimal", la visite de topic et le marqué comme lu ...

  4. #4
    Membre éclairé Avatar de Luffy49
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 399
    Par défaut
    SpiritOfdoc : oui mais comme tu l'as dit il y a un très gros désavantage. si la personne va voir un topic l'heure de la création du topic ou de la réponse ne change pas donc tous les topic seront marqué comme vu si l'utilisateur se connecte et se déconnecte après qu'un topic soit crée...

    Giantrick : Les couleurs me sembles pas si "pétante" que sa chez moi. C'est quelles partit de couleur qui te gène ?? histoire de voir si je peut pas améliorer sa

    Sinon ton idée se rapproche de ce que j'avais imaginer même si sa me semble un peu lourd ?

    La méthode la moins lourde serait donc :

    - Crée une table avec comme champ id_membre et id_topic et de la mettre a jour quand un membre clique sur un topic. Il faudrait donc suprimer le champ a chaque fois qu'il y a un nouvelle réponse sur le topic.

    Sa me semble gérable et pas si "bête" que sa .

    Si les autres on de meilleurs idée je suis preneur.

  5. #5
    Membre éclairé Avatar de Giantrick
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    300
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 300
    Par défaut
    Citation Envoyé par Luffy49
    Giantrick : Les couleurs me sembles pas si "pétante" que sa chez moi. C'est quelles partit de couleur qui te gène ?? histoire de voir si je peut pas améliorer sa
    Le fluo vert et le rose-mauve sont carrément à ch... (mais c'est mon avis et je suis souvent trop franc) - tu me demandais mon avis

    Citation Envoyé par Luffy49
    La méthode la moins lourde serait donc :

    - Crée une table avec comme champ id_membre et id_topic et de la mettre a jour quand un membre clique sur un topic. Il faudrait donc suprimer le champ a chaque fois qu'il y a un nouvelle réponse sur le topic.
    Pourquoi suprimer le champ alors que tu pourrais gérer les visites avec les dates associées à l'id membre. Ainsi tu pourrais même avoir un tableau de bord par utilisateur qui afficherait les dates et heures de visites de chaque topic.

    Soit tu affiches uniquement la dernière avec une requete de type (Max) pour cet utilisateur et ce top ou bien tu affiches tout selon un tableau par topic et les dates de visite (mais là ce sera un peu lourd).

    Ta table pourrait avoir la structure suivante : ID_MEMBRE, ID_TOPIC, DATES et ensuite éventuellement tu pourrais ajouter des champs de type (visu) ou (modification) pour affiner l'information date de ta table et ainsi avoir toutes les variables dans une table unique.

    Aller moi je vais dodo... j'espère que ce cela marchera ! (à demain)

    ps : ne prend pas mal mon avis sur les couleurs, mais pourquoi as tu choisi ces couleurs ? je suis curieux !

  6. #6
    Membre éclairé Avatar de Luffy49
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 399
    Par défaut
    je n'est pas encore tester , je le ferais demain je pense . Sinon pour les couleurs mon site repose sur la couleur vert anis j'ai chercher une couleur qui se marriait relativement bien avec et je n'est trouver que le rose ( mauve ).

    Sinon pour ta réponse je pense que si je garde les champs de chaque utilisateur et de chaque topic cela va me faire une table très très lourde non ? après tous je ne sais pas les limites de mysql peut être supporte t'il bien autant d'insertion.

    En tous cas je vais tester sa bientôt , je vous tiens au courant.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Tableaux] Problème menu PHP
    Par darontankian dans le forum Langage
    Réponses: 11
    Dernier message: 01/02/2008, 13h34
  2. [Tableaux] Problème lecture RSS depuis PHP
    Par naivenu dans le forum Langage
    Réponses: 6
    Dernier message: 08/07/2006, 23h37
  3. Réponses: 2
    Dernier message: 02/06/2006, 10h04
  4. Réponses: 2
    Dernier message: 26/05/2006, 01h04
  5. Réponses: 11
    Dernier message: 25/11/2005, 10h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo