I am looking for PHP code to get all users by a certain role.

Here is a sample piece of code. I don't know how to add to it the condition that all user should only be of a certain role.

$result = db_query('SELECT users.uid AS uid,
   users.mail AS users_mail,
   users.name AS users_name
 FROM users users');
while ($existing_user = db_fetch_object($result)) {
        print_r($existing_user); // or do whatever
  }

I'd appreciate your help!

Comments

Québec’s picture

I'm also looking for a php snippet to list users of a certain role.

Thanks.

jp2020’s picture

+1

kapep’s picture

Get all users belonging to a role by the role's name:

    $result = db_query('
SELECT users.name, users.mail
FROM role
LEFT JOIN users_roles ON users_roles.rid = role.rid
LEFT JOIN users ON users_roles.uid = users.uid
WHERE role.name = \'%s\'
', $role_name);

Get all users belonging to a role by the role's id:

    $result = db_query('
SELECT users.name, users.mail
FROM users_roles
LEFT JOIN users ON users_roles.uid = users.uid
WHERE users_roles.rid = %s
', $rid);