Bonjour,
Pouvez-vous m'aider car je n'arrive pas a faire une requête SQL qui marchequi lie les deux?
J'aimerai lier deux Tables "membres" qui est déja en place et "roles" qui comme champs (id, name, slug, level)
Je voudrai faire comme dans le tutoriel PHP : Gérer des Permissions mais sans passer par PDO.

Voila ma requete pour la table "membre".

$result = sqlquery("SELECT COUNT(membre_id) AS nbr, membre_id, membre_pseudo, membre_mdp FROM membres WHERE
                membre_pseudo = '".mysql_real_escape_string($_POST'pseudo'])."' GROUP BY membre_id", 1);

Merci

7 réponses


djtec
Réponse acceptée

Et avec ceci:

$result = sqlquery("
    SELECT COUNT(m.membre_id) AS nbr, m.membre_id, m.membre_pseudo, m.membre_mdp, m.role_id, r.name, r.slug, r.level 
    FROM membres AS m
    LEFT JOIN roles AS r ON m.role_id = r.id 
    WHERE m.membre_pseudo = '".mysql_real_escape_string($_POST'pseudo'])."'
    GROUP BY m.membre_id
", 1);
Tortue33
Auteur
Réponse acceptée

Moi j'avais fait ça:

$result = sqlquery("SELECT COUNT(membre_id) AS nbr, membres.membre_id, membres.membre_pseudo, membres.membre_mdp, membres.role_id, roles.id, roles.name, roles.slug, roles.level FROM membres LEFT JOIN roles ON roles.id=membres.role_id WHERE
                membre_pseudo = '".mysql_real_escape_string($_POST'pseudo'])."' GROUP BY membre_id", 1);//------------------------------------------------------------------------------------------------------------------TEST
Tortue33
Auteur
Réponse acceptée

Bon c'est super les deux codes marche nikel :)
Un grand merci!! djtec

Et bien utilise left join pour ajouter ta table roles

Tortue33
Auteur

comme ça?

$result = sqlquery("SELECT COUNT(membre_id) AS nbr, membre_id, membre_pseudo, membre_mdp, role_id, roles.name, roles.slug, roles.level FROM membres LEFT JOIN roles ON membres.role_id=roles.id WHERE
                membre_pseudo = '".mysql_real_escape_string($_POST'pseudo'])."' GROUP BY membre_id", 1);

Je ne comprends pas bien la requête d'origine de mon premier message. j'ai jamais utilisé le left join.
merci pour m'avoir repondu :)

Oui c'est ça. Tu as essayé?

Tortue33
Auteur

oui mais je récupère pas les champs de la tables "roles".
Je trouve ça (membres.role_id=roles.id) un peu bizarre, j'ai copier sur un tutoriel sans le comprendre vraiment.