Tabela (MySQL) z polami:
Lp
Opis
PoziomMenu
KategorieUprawnien
Domyślny poziom menu to 0. Po zalogowaniu skrypt zapytuję bazę:
SELECT * FROM menu WHERE PoziomMenu = '$Poziom' AND KategorieUprawnien LIKE '%$KategoriaUzytkownika%' ORDER BY Lp
i wyświetla pozycje menu danego poziomu, do których juzer ma dostęp. Przejście do podmenu powoduje, że zmienna $Poziom jest ustawiana na inną wartość i zapytanie jest ponawiane. Analogicznie powrót "do góry".
Takie rozwiązanie działa fajnie, ale powoduje konieczność każdorazowego zapytania do bazy przed wyświetleniem menu. Nawet podczas powrotu do menu z innego ekranu.
Pomyślałem, że można by wczytywać to menu do pamięci jednorazowo, a potem tylko wyświetlać, ale nie wiem - czy to dobry pomysł?
W sesji trzymam już kilka zmiennych. Poza tym jak to zapisać do sesji - jako tablicę? A jak z niej później wybierać odpowiednie pozycje (w zależności od zmiennej $Poziom)?
Doradźcie czy w ogóle warto to robić.
Pozdrawiam,
K