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 :

explication sur left et joint


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2015
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Janvier 2015
    Messages : 27
    Par défaut explication sur left et joint
    Bonjour,

    je voudrais apporter une modif sur un script.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql = 'SELECT g.id,g.idm,g.idg,g.stat,m.pseudo FROM '.$prefixtable.'groupemembre AS g LEFT JOIN '.$prefixtable.'membres AS m ON g.idm=m.id  WHERE g.idg = "'.intval($groupe).'" ORDER BY m.pseudo';
    Si vous pouvez m'expliquer ce que fait cette ligne (g.id.... m.speudo..). Je n'ai pas réussi à appréhender le fonctionnement précis malgré les lectures.

    Sur la table groupemembre et sur celle de membre j'ai en champ forum (même nom sur les deux) et je voudrais vérifier si les deux champs sont égaux.

    l'explication est importante puisque j'ai plusieurs modif à faire.

    Merci pour votre aide.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $sql = 'SELECT g.id,g.idm,g.idg,g.stat,m.pseudo 
       FROM '.$prefixtable.'groupemembre AS g 
       LEFT JOIN '.$prefixtable.'membres AS m 
          ON g.idm=m.id  
       WHERE g.idg = "'.intval($groupe).'" 
       ORDER BY m.pseudo';
    Qu'est-ce que tu ne comprends pas ?

    "SQL JOINTURE"

  3. #3
    Membre averti
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2015
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Janvier 2015
    Messages : 27
    Par défaut
    Merci pour la réponse.

    Je serai tenté de dire tout, mais en particulier que font les éléments placés entre: "SELECT et pseudo"

    Que fait "AS g LEFT JOIN" ; "AS m ON g.idm=m.id "

    et a quoi servent les" g." et les "m."

  4. #4
    Invité
    Invité(e)
    Par défaut
    A ce point là...

    • SELECT g.id,g.idm,g.idg,g.stat,m.pseudo : noms des colonnes à récupérer
    • FROM '.$prefixtable.'groupemembre AS g : g est un ALIAS de '.$prefixtable.'groupemembre -> ce qui permet d'écrire g.id au lieu de '.$prefixtable.'groupemembre.id
    • LEFT JOIN '.$prefixtable.'membres AS m : idem pour m
    • ON g.idm=m.id : condition de la JOINTURE (LEFT JOIN)
    • WHERE g.idg = "'.intval($groupe).'" : condition de recherche
    • ORDER BY m.pseudo : ordre des résultats

    Mais bon... le mieux est quand même de LIRE UN TUTO sur les requêtes SQL !

    Un bon début :

  5. #5
    Membre averti
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2015
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Janvier 2015
    Messages : 27
    Par défaut
    Merci pour cette explication j'avais lu des tuto et j'avais plus ou moins compris mais d'où sort g et m comment le script comprend que g veut dire "$prefixtable.'groupemembre".

    donc après select je mets "g.forum et m.forum" et la question est où j'écris la seconde condition de jointure soit " g.forum = m.forum "

  6. #6
    Membre averti
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2015
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Janvier 2015
    Messages : 27
    Par défaut
    Après moult tâtonnement je pense avoir trouvé j'ai mis "AS m ON g.idm=m.id and g.forum=m.forum "

    Merci.

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

Discussions similaires

  1. [MySQL-5.7] Besoin d'explication sur LEFT JOIN
    Par ma5t3r dans le forum Requêtes
    Réponses: 4
    Dernier message: 08/02/2020, 11h41
  2. Besoin d'explications sur float et l'élasticité !
    Par KneXtasY dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 14/01/2005, 15h15
  3. s.v.p :explication sur le ".h" et dll de l'opengl
    Par Asmod_D dans le forum OpenGL
    Réponses: 1
    Dernier message: 22/11/2004, 10h32
  4. Réponses: 28
    Dernier message: 18/08/2003, 11h54
  5. recherches des cours ou des explications sur les algorithmes
    Par Marcus2211 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 19/05/2002, 22h18

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