Bepaalde waarde wel/niet weergeven

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Donny Wie weet

Donny Wie weet

05/12/2013 15:34:59
Quote Anchor link
Hoi allemaal.

Ik haal een bepaalde waarde uit mijn database. Die word in een array gezet:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$userrollen
= array(
    'Admin' => '1',
    'Moderator' => '2',
    'Developer' => '3',
    'Normaal gebruiker' => '4');

//De pagina inbox ophalen en daarbij horende rollen

$pageroles = array(
    'admin' => '1',
    'developer' => '3');
?>


Nu wil ik, dat wanneer $pageroles een waarde bevat van $userrollen deze niet meer word weergeven. In dit voorbeeld worden de Admin en Developer niet meer weergeven omdat die al zijn gebruikt. Als ik de admin verwijder van $pageroles, dan moet de Admin weer terug in het rijtje met $userrollen.

Wie-o-wie kan me helpen?
 
PHP hulp

PHP hulp

06/12/2022 01:13:04
 
Kris Peeters

Kris Peeters

05/12/2013 16:05:11
Quote Anchor link
zo?

Merk op: ik heb die spatie uit de key gehaald; ik heb de key in kleine letters gezet.
Ik houd niet van speciale tekens in een key

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
$userrollen
= array(
  'admin' => '1',
  'moderator' => '2',
  'developer' => '3',
  'Normaal_gebruiker' => '4'
);
$pageroles = array(
  'admin' => '1',
  'developer' => '3'
);

// nieuwe filter maken
$gefilterd = filterRoles($userrollen, $pageroles);
echo '<pre>' . print_r($gefilterd, 1) . '</pre>';

// Als ik de admin verwijder van $pageroles
//  -> wel, zorg gewoon dat je de originele $userrollen bijhoudt.    Dan heb je geen probleem

unset ($pageroles['admin']);
// nieuwe filter maken
$gefilterd2 = filterRoles($userrollen, $pageroles);
echo '<pre>' . print_r($gefilterd2, 1) . '</pre>';


function
filterRoles($userRoles, $pageRoles) {
  foreach ($pageRoles as $key=>$pageRole) {
    if (isset($userRoles[$key])) {
      unset($userRoles[$key]);
    }
  }

  return $userRoles;
}

?>
Gewijzigd op 05/12/2013 16:06:33 door Kris Peeters
 
Donny Wie weet

Donny Wie weet

05/12/2013 16:16:24
Quote Anchor link
Ik moet het anders uitleggen...

Ik heb 3 tabellen in mn DB:
-permissions
-roles
-perms_roles

permissions:
1 -> inboxpage
2 -> adminpage
3 -> contactpage
4 -> gebruikerspage

roles:
1 -> admin
2 -> moderator
3 -> user
4 -> helpdesk
5 -> Gold user

perms_roles:

Permission => Roles
1 -> 1
1 -> 2
1 -> 3
2 -> 2
2 -> 2
2 -> 3
3 -> 1


Zoals je ziet, kan de admin (rol 1) gebruik maken van de inbox (permission 1), adminpage(permission 2) etc.

Nu heb ik een pagina, die opvraagd welke rollen aan de gekozen permission zitten. Ik krijg nu terug:
Permission-> inbox => admin, moderator, user (dit staat in een array)
Dit staat netjes in een tabel. Nu wil ik onder die tabel een nieuwe tabel waarin staat welke rollen nog niet gekoppeld zijn aan deze pagina. Dus dan krijg je een tabel eronder (in dit geval)

Niet gekoppelde rollen: 4.helpdesk, 5.Gold user
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.