Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Smarty, wyświetlanie tablicy za pomocą section, ale w trochę niecodzienny sposób
Aztech
post
Post #1





Grupa: Zarejestrowani
Postów: 276
Pomógł: 3
Dołączył: 22.10.2003
Skąd: Wrocław

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


Mam dane przekazane do Smarty za pomocą tablicy asocjacyjne
Przykładowe dane wyglądają tak
[id] [group_id] [group] [user_id] [username]
1 1 "uczniowie" 12 "Stefan"
2 1 "uczniowie" 15 "Arek"
3 1 "uczniowie" 17 "Romuald"
4 1 "uczniowie" 25 "Tomek"
5 2 "nauczyciele" 14 "Romek"
6 2 "nauczyciele" 19 "Krzysztof"
7 2 "nauczyciele" 66 "Ryszard"
8 3 "kuratorzy" 10 "Jan"
9 3 "kuratorzy" 22 "Grzegorz"

Chciałbym za pomocą section wy swietlić te dane w nastepujący sposób.
Uczniowie:
- Stefan
- Arek
- Romulad
- Tomek
Nauczyciele
- Romek
- Krzysztof
- Ryszard
Kuratorzy
- Jan
- Grzegorz

Jedyny sposób jaki mi przychodzi do głowy jest bardzo nieelegancki. Zasada działania polega na tym
- zapamiętaj ID grupy
- jeśli pierwsza iteracja wyświetl nazwę grupy
- jesli nie pierwsza iteracja to porównaj aktualne ID grupy z zapamiętanym, jeśli się różni wyświetl nazwe grupy
- wyświetl użytkownika

Może ktoś zna lepszy sposób?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Aztech
post
Post #2





Grupa: Zarejestrowani
Postów: 276
Pomógł: 3
Dołączył: 22.10.2003
Skąd: Wrocław

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


Mike, zdaję sobie z tego sprawę, ale z racji, że smarty jest tak obszerne i kobylaste, jest pewna szansa, że znajduje się zaimplementowane ułatwienie pozwalające wyswietlać tego typu dane.

Dane do wyświetlenia pobierane są za pomocą poniższego zapytania
  1. SELECT rpg.*, rpgu.*, ru.name AS pguname, ru.username"
  2. ."
  3. FROM rbx_priv_groups
  4. AS rpg"
  5. ." LEFT JOIN rbx_priv_group_users AS rpgu ON rpg.priv_group_id = rpgu.group_id"
  6. ." LEFT JOIN rbx_users AS ru ON rpgu.user_id = ru.user_id"
  7. ." WHERE 1


Jak widzisz, następuje tutaj połączenie grup prywatnych wraz z użytkownikami do nich należacymi oraz pobranie najpotrzebniejszych danych o tych uzytkownikach

Po co mi takie rozwiązanie w ogóle jest potrzebne?
Otóż. Na stronie wyświoetlone zostaną grupy wraz z informacją ilu człownków posiadają. Tym gryupom będą potem przydzielane uprawnienia. Jendakże dla użytkownika przydzielającego danej grupie uprawnienia lub zbiorowi grup wygodniej jest podejrzeć od razu kto się w takiej grupie znajduje (by wiedział komu jakie uprawnienai nadaje) bez preładowywania stron, stąd pobranie od razu członków.
Lsita członków grupy pojawiałaby się po kliknięciu "pokaż członków grupy" w postaci div'a któremu nadajemy za pomocą java scriptu atrybut display:none lub display:block.
Można to sobie wyborazić mniej więcej tak: (>> równoważne jest z linkiem pokaż człownków, << równoważne jest z linkiem ukryj)

1. Uczniowie >>
2. Nauczyciele >>
3. Kuratorzy >>

Po wybrabiu uczniów pojawi się:

1. Uczniowie <<
- Stefan
- Arek
- Romulad
- Tomek
2. Nauczyciele >>
3. Kuratorzy >>
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 4.10.2025 - 03:48