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

PHP & Base de données Discussion :

SESLECT et JOINTURES mais comment?


Sujet :

PHP & Base de données

  1. #1
    Invité
    Invité(e)
    Par défaut SESLECT et JOINTURES mais comment?
    chers amis, merci de me répondre...
    mon problème: j'ai deux tables, MESSAGES et COMMENTS. la table MESSAGES contient les colonnes(id_mess, message) et la table COMMENTS contient(id_mess, commentaire), j'explique:
    1: MESSAGES.id_mess et COMMENTS.id_mess sont les mêmes sachant que chaque message de la table MESSAGES a son id=id_mess et ses commentaires repérés dans la table COMMENTS dans COMMENTS.id_mess...

    2: je fait une SELECT avec Jointures, du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    "SELECT * FROM MESSAGES INNER JOIN COMMENTS ON MESSAGES.id_mess=COMMENTS.id_mess WHERE
    conditions".
    3: chaque messages peut avoir plusieurs commentaires.
    4: LE PROBLÈME: je ne sais pas comment afficher un message avec ses commentaires dans ce cas, après le SELECT. Est-ce qu'il faut faire DEUX boucles WHILE?

    SVP aidez-moi... merci! je veux afficher chaque message avec ses commentaires comme dans un forum. je réussit avec DEUX SELECT et DEUX BOUCLES WHILE mais avec les jointures j'ai aucune idée. MERCI...
    Dernière modification par Sendusha ; 22/07/2011 à 13h14. Motif: Merci d'utilisez la balise code [bouton#] de l'editeur.

  2. #2
    Membre expérimenté Avatar de Retrokiller069
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 217
    Par défaut
    Bonjour,

    si je peux me permettre une remarque sur ta BDD, je te conseillerai de mettre un identifiant spécifique pour chaque commentaires et de leurs attribués un id_mess pour faire référence aux messages.

    commentaire: id_com | id_mess | commentaires

    Ca sera beaucoup plus simple pour manipuler des commentaires par la suite.

    Après je n'ai pas compris ta questoin, est ce que tu sais exécuter une requête SQL en php? sinon regarde ceci, c'est la version rapide et simple. Sinon si tu n'es pas pressé regarde ca c'est un bon tuto sur la méthode PDO (qui pour moi est mieux que la première méthode).

    Pour moi le mieux c'est de faire ca en 2 requêtes, une pour parcourir les messages (dans ta première boucle) puis dans cette boucle tu exécutes une requête qui prend comme condition l'identifiant du message et tu obtiens les commentaires.

    Si c'est pas ca que tu veux (ou au moins une de ces choses ) j'ai rien compris ^^

  3. #3
    Invité
    Invité(e)
    Par défaut
    merci à toi Retrokiller069... merci pour ta réponse. pour la clée primaire sur la table de commentaires il y en a; ne prends en aucun cas ma reponse en mal, c'est juste que j'ai pris l'habitude de mettre le strict minimum dans mes questions(du coup j'ai pas vu l'utilité de decrire tte la table des commentaires dans ce sujet)...
    Je crois que tu as compris mon problème mais pas assez bien lu mon sujet... Le méthode que tu me propose je l'ai déjà faite et elle marche bien(et je l'ai précisé dans le sujet), sauf que utiliser une jointure est plus rapide, d'où mon choix de l'utiliser car DEUX BOUCLES WHILE paraissent LOURDES. je fais la jointure, mais le PROBLEME est que: JE NE CONNAIS pas EXTRAIRE LES RESULTATS... EX:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $sql="SELECT * FROM publications INNER JOIN commentaires ON ... WHERE";
    $ask = mysqli_query($link, $sql) ;
    while($tab=mysqli_fetch_array($link, $ask))
    {
      // commet extraire les chaque message avec ses commentaires et les afficher?==>c'est Là LE PROBLEME...sachant que chaque publication peut avoir plusieurs commentaires!
    }

    Merci encore pour vos réponses!

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    je t'invite à t'intéresser à GROUP BY et lire ce tuto : LE SQL de A à Z : 4e partie - groupage et ensembles

Discussions similaires

  1. bannière en rotation, mais comment indiquer le lien ?
    Par JAVA Good dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/03/2006, 18h41
  2. [XSLT] - Modèle réutilisable... mais comment l'utiliser.
    Par jacquesh dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 17/02/2006, 11h07
  3. un simple break; mais comment ??
    Par kmaniche dans le forum C++
    Réponses: 2
    Dernier message: 14/02/2006, 22h33
  4. Réponses: 4
    Dernier message: 13/12/2005, 18h14
  5. HomeDB, oui mais comment ?
    Par Gregouz dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 27/10/2004, 15h27

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