Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Grupy użytkowników. Porównywanie zmiennych int z kilku tabel
starach
post
Post #1





Grupa: Zarejestrowani
Postów: 999
Pomógł: 30
Dołączył: 14.01.2007
Skąd: wiesz ?

Ostrzeżenie: (0%)
-----


Funkcja rejestrująca grupy użytkownika na razie pobiera mi coś takiego, jak poniżej.
Co mam zrobić żeby porównać pola z wartości z tabeli group_privileges i otrzymać największą wartość z pola . Użytkownik może należeć do kilku grup każda grupa ma swój poziom uprawnień. Chodzi o to żeby wydostać z każdego pola uprawnień najwyższy poziom dostępu.
W tym wypadku dla poniższego zestawienia kod dostępu byłby taki: 346763776526157
Jak to zrobić ?
Kod
Array
(
    [0] => Array
        (
            [group_name] => Administratorzy
            [group_privileges] => Array
                (
                    [0] => 3
                    [1] => 4
                    [2] => 6
                    [3] => 7
                    [4] => 1
                    [5] => 3
                    [6] => 7
                    [7] => 2
                    [8] => 6
                    [9] => 5
                    [10] => 2
                    [11] => 6
                    [12] => 1
                    [13] => 5
                    [14] => 7
                )

        )

    [1] => Array
        (
            [group_name] => U?ytkownicy
            [group_privileges] => Array
                (
                    [0] => 3
                    [1] => 2
                    [2] => 5
                    [3] => 7
                    [4] => 6
                    [5] => 2
                    [6] => 5
                    [7] => 7
                    [8] => 1
                    [9] => 1
                    [10] => 5
                    [11] => 7
                    [12] => 1
                    [13] => 5
                    [14] => 3
                )

        )

)


Ten post edytował orglee 5.02.2007, 00:34:11
Go to the top of the page
+Quote Post
em1X
post
Post #2





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

Ostrzeżenie: (0%)
-----


  1. <?php
  2.  
  3. $tab = array();
  4. $tab[] = array("group_name"=>"administratorzy", "group_privileges" => array(
  5. 3,4,6,7,1,3,7,2,6,5,2,6,1,5,7));
  6. $tab[] = array("group_name"=>"uzytkownicy", "group_privileges" => array(
  7. 3,2,5,7,6,2,5,7,1,1,5,7,1,5,3));
  8.  
  9. function check(& $tab)
  10. {
  11. $return = "";
  12. $select = array();
  13.  
  14. for ($i=0; $i<count($tab[0]["group_privileges"]); $i++)
  15. {
  16. for ($j=0; $j<count($tab); $j++)
  17. {
  18. $select[] = $tab[$j]["group_privileges"][$i];
  19. }
  20.  
  21. $return .= max($select);
  22. $select = array();
  23. }
  24.  
  25. return $return;
  26. }
  27.  
  28. print "<pre>";
  29. print_r($tab);
  30. print "nn";
  31. print "Wynik: " . check($tab);
  32.  
  33. ?>


Ten post edytował em1X 9.02.2007, 13:59:02


--------------------
eh, co polska wódka to polska wódka
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 21:10