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 :

SELECT tables intermédiaires [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Homme Profil pro
    Webdesigner
    Inscrit en
    Septembre 2014
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2014
    Messages : 58
    Par défaut SELECT tables intermédiaires
    Bonjour,

    Je développe un programme de gestion de membres en PHP MySQL, tout ce passait bien jusqu'à ce que je me rende compte qu'un membre peut faire partie de plusieurs groupes...

    J’ai donc fait des table intermédiaires pour chaque point où il peut y avoir un doublon…

    Du genre Membre 23 = Groupe A + Groupe D

    J’ai donc :

    Une table 1 qui est la table membre avec Id, Nom, Prénom, Adresse etc...

    Une table 2 qui est la table des groupes A, B, C, D

    Une table inter qui contient l’ID membre et l’ID groupe

    Et là je suis bloqué par le SELECT, je n’arrive pas à joindre les 3 tables pour obtenir une liste du genre

    Membre 24 Nom, Prénom, adresse, Groupe A, D

    J’obtiens une liste avec des doublons du genre :

    Membre 24 Nom, Prénom, adresse, Groupe A

    Membre 24 Nom, Prénom, adresse, Groupe D

    Membre 25 Nom, Prénom, adresse, Groupe A

    Voilà, j'ai essayé les select avec Join de toutes les manières mais impossible d'obtenir le résultat souhaité.

    Si quelqu'un à une idée ça m'arrangerais bien

    Merci d'avance

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Le resultat que tu obtiens est le bon dans sgdb relationnel : tu demandes les groupes et l'utilisateur, tu obtiens une ligne par groupe par utilisateur.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Homme Profil pro
    Webdesigner
    Inscrit en
    Septembre 2014
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2014
    Messages : 58
    Par défaut
    Hello,

    Merci pour ta réponse, je me doutais que le résultat de la requête était bon, mais maintenant j'ai du mal à faire un affichage tel que je le souhaite.

    C'est à dire une ligne par membre avec la concaténation des groupes.

    une idée?

    merci d'avance

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Si tu veux vraiment seulement un affichage, tu peux utiliser la fonction GROUP_CONCAT() dans ta requête.

    Si tu as besoin d'un traitement par rapport aux groupes, fais un requête séparée pour la recuperation des groupes et range les dans un tableau PHP pour chaque utilisateur.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé
    Homme Profil pro
    Webdesigner
    Inscrit en
    Septembre 2014
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2014
    Messages : 58
    Par défaut
    Salut et merci pour le tuyau, avec GROUPE_CONCAT ça fonctionne.

    Il me reste à trouver pour pouvoir sortir la liste par groupe.

  6. #6
    Membre confirmé
    Homme Profil pro
    Webdesigner
    Inscrit en
    Septembre 2014
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2014
    Messages : 58
    Par défaut
    Juste un petit mot pour dire que tout fonctionne comme je le souhaitais.
    J'ai encore quelques tests à effectuer, mais pour moi le post est résolu.

    J'ai pris exemple sur le lien suivant: http://www.percona.com/blog/2013/10/...-group_concat/

    Merci encore pour ton aide.

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

Discussions similaires

  1. Select sur une table intermédiaire
    Par Okena dans le forum Langage SQL
    Réponses: 2
    Dernier message: 09/07/2008, 13h14
  2. Réponses: 2
    Dernier message: 02/08/2006, 10h25
  3. Index ou table intermédiaire ?
    Par n00bi dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 02/06/2006, 11h07
  4. Réponses: 5
    Dernier message: 28/10/2005, 16h27
  5. Réponses: 13
    Dernier message: 14/09/2005, 16h21

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