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 :

faire un systeme de commentaires conversations (requete SQL)


Sujet :

Langage PHP

  1. #1
    Membre averti
    Avatar de crozet.magenta
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2012
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 208
    Points : 374
    Points
    374
    Par défaut faire un systeme de commentaires conversations (requete SQL)
    Bonjour,
    je suis toujours sur mon blog et je fais actuellement la partie commentaires.
    j'aimerais faire un systeme de commentaires similaire à celui de Disqus ou facebook qui permet aux utilisateurs de répondre aux commentaires et que la réponse soit affichée en dessous dudit commentaire.
    J'ai déjà fait la base de données de cette forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    +------------+------------------+------+-----+---------------------+----------------+
    | Field      | Type             | Null | Key | Default             | Extra          |
    +------------+------------------+------+-----+---------------------+----------------+
    | id         | int(10) unsigned | NO   | PRI | NULL                | auto_increment |
    | deleted    | tinyint(1)       | NO   |     | NULL                |                |
    | content    | text             | NO   |     | NULL                |                |
    | upvote     | int(10) unsigned | NO   |     | NULL                |                |
    | downvote   | int(10) unsigned | NO   |     | NULL                |                |
    | user_id    | int(10) unsigned | NO   | MUL | NULL                |                |
    | post_id    | int(10) unsigned | NO   | MUL | NULL                |                |
    | comment_id | int(10) unsigned | NO   |     | NULL                |                |
    | created_at | timestamp        | NO   |     | 0000-00-00 00:00:00 |                |
    | updated_at | timestamp        | NO   |     | 0000-00-00 00:00:00 |                |
    +------------+------------------+------+-----+---------------------+----------------+
    là où je bloque c'est pour les requêtes sql : comment faire pour dans le minimum de requêtes récupérer les derniers commentaires et les réponses qui ont été faites dessus sans dépasser un total de 50 commentaires (50 est donné comme exemple, ce n'est pas un impératif).

    j'ai pensé à quelques trucs mais qui me posent tous des problèmes :
    1) récupérer N commentaires "de base" (qui ne répondent pas à un autre) puis récupérer les réponses éventuelles à ces commentaires puis les réponses aux réponses...
    -> problème 1 : si j'ai 50 "étages" de réponses, j'ai 50 requêtes et donc ça fait très lourd
    -> problème 2 : je ne peux pas limiter à 50 commentaires visibles puisque je ne sais pas d'avance combien il y a de réponses ou alors j'en élimine du résultat mais dans ce cas j'ai fait une requête lourde pour rien
    2) récupérer 50 commentaires puis les trier en conversations
    -> problème : si le commentaire le plus récent est une réponse à un commentaire ancien qui n'est pas dans les X récupérés, je me retrouve avec un commentaire "orphelin" qui n'a pas son commentaire parent
    sous problème : si je laisse tomber ces commentaires orphelins, je peux très bien me retrouver au final avec 3 commentaires affichés et 47 orphelins qui ont été supprimés
    3) ne pas limiter le nombre de commentaires et tous les récupérer puis trier en conversation
    -> problème : si j'ai 2000 commentaires à afficher d'un coup, d'une part php devoir traiter un tableau énorme (donc ça risque d'être long) et ensuite, le navigateur qui va recevoir en AJAX une réponse énorme risque de ne pas trop apprécier...

    J'avoue que je ne sais pas trop comment faire donc si certains ont des idées, je suis preneur.
    n'oubliez pas de voter si le message vous a aidé


  2. #2
    Membre averti
    Avatar de crozet.magenta
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2012
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 208
    Points : 374
    Points
    374
    Par défaut
    personne n'a d'idée ?

    questions subsidiaires :
    est-ce qu'un tableau de 2000 strings de 500 caractères maxi est-il trop lourd à traiter en php ? (à mon avis cette limite ne sera jamais atteinte...)
    y a-t-il une limite de taille pour une réponse à une requête ajax ?
    n'oubliez pas de voter si le message vous a aidé


  3. #3
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 274
    Points
    3 274
    Par défaut
    Hello !

    y a tout l'air d'y avoir un système d'arborescence à mettre en place. Connais-tu la logique MPTT (ou représentation intervallaire) ? Regarde ce lien ou encore ce lien-ci à ce sujet.

    Ce mécanisme contraint davantage et complexifie un peu l'ajout et la suppression de données mais est très performant pour tout ce qui concerne la recherche dans l'arbre ainsi créé.
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

  4. #4
    Membre averti
    Avatar de crozet.magenta
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2012
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 208
    Points : 374
    Points
    374
    Par défaut
    ça m'a l'air de correspondre à ce que je recherche je regarde un peu plus profond et je te dis si c'est bon.

    *edit*
    c'est parfait, c'est exactement ce que je cherchais je n'aurai jamais trouvé tout seul ^^
    merci beaucoup
    n'oubliez pas de voter si le message vous a aidé


  5. #5
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 274
    Points
    3 274
    Par défaut
    Au plaisir
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 22/06/2009, 19h06
  2. faire réference à une combo dans la requete sql
    Par mat777 dans le forum Requêtes et SQL.
    Réponses: 14
    Dernier message: 06/02/2008, 11h08
  3. [SQL] Faire un tableau comparatif avec une requete SQL
    Par AnGe7s dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 28/12/2007, 15h06
  4. Comment faire du MDX à partir d'une requete SQL?
    Par Immobilis dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 10/11/2005, 10h46
  5. Réponses: 2
    Dernier message: 03/05/2004, 13h13

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