Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 262
  • Last Modified:

Need help with merging or joining to get values

Hey,

Here's what I'm doing, I'm assigning users of my site permissions to admin certain pages on a user by user basis.  The way I'm doing it is by page id numbers.  For instance, to approve new members, the page number is "20".  In my user table, I implode all the page numbers that the user can admin and put them in to a field called "permissions_allowed".  So if joe blow can admin the approval section and the renewal sections, his permissions are 20#44.

I have another table that contains all of my pages on the site.  

When I display what users have what admin rights, instead of it showing as:

joe blow = 20#44

I would like it to show as

joe blow = Member approvals, member renewals

I have already dumped the permissions in to an array and have no problem displaying the numbers, I just need the best way to match the numbers with the pages so I can display the pages.

Maybe a IF or Switch statement?  Would it be better to join the tables when I'm querying?  What do you all think?
0
deputycheek
Asked:
deputycheek
1 Solution
 
Ray PaseurCommented:
I think I would do it like this...

Table of Members
Table of Pages
Table of Members_Pages

The third table would contain two columns - the keys of the rows where members and pages intersect.  This is called a junction table, and it provides the relationship between members and pages.  It lets you answer questions like "What can Joe Blow change?" or "Who can change the Renewals?" or "Can Jane Doe change Approvals?"

If that part makes sense to you, then it is easy to write a query something like this

SELECT name, page FROM members, pages, members_pages WHERE members_pages.id = 3
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now