Jump to content

Recommended Posts

I need to create a permission system, where multiple permissions can be assigned to multiple roles. These roles can then be assigned to multiple users.

 

These are the tables where the permissions and roles are stored:

CREATE TABLE some_perms (

perm_id mediumint(8) NOT NULL auto_increment,

perm_name varchar(32) NOT NULL default \'\',

perm_desc varchar(255) NOT NULL default \'\',

PRIMARY KEY  (perm_id)

) TYPE=MyISAM;



CREATE TABLE some_roles (

role_id mediumint(8) NOT NULL auto_increment,

role_name varchar(32) NOT NULL default \'\',

role_desc varchar(255) NOT NULL default \'\',

PRIMARY KEY  (role_id)

) TYPE=MyISAM;

 

Now, I need to create 2 tables (don\'t know if I got it right) to hold what permissions belong to what roles, and what roles belong to what users:

CREATE TABLE some_role_perms (

role_id mediumint(8) NOT NULL default \'0\',

perm_id mediumint(8) NOT NULL default \'0\',

perm_status tinyint(1) NOT NULL default \'0\',

KEY role_perm_id (role_id, perm_id)

) TYPE=MyISAM;



CREATE TABLE some_user_roles (

user_id mediumint(8) NOT NULL default \'0\',

role_id mediumint(8) NOT NULL default \'0\',

KEY user_role_id (user_id, role_id)

) TYPE=MyISAM;

 

I know how to assign permissions/roles, add new ones, etc. But I have no idea how to get all available permissions for a user id in a single query. I know how to do it in multiple queries, but I want to do it in 1 query. I know it\'s possible, I just don\'t know how.

 

Could anyone help me on this issue?

Link to comment
https://forums.phpfreaks.com/topic/819-4-tables-1-query/
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.