![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 26.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Prosze o pomoc w rozwiązaniu pewnego problemu. Sytuacja wygląda następująco: mam 4 tabele 1. Menu (menu_id, menu_item) 2. Permission (per_lvl_id, per_name) 3. User_Permission user_per_id, menu_id(FK), per_lvl_id(FK), user_id(FK) 4. User (user_id, user_name, user_pass) Chce aby to wyglądało następująco: skrypt PHP generuję formularz: - Menu1 (Combobox - do wyboru Permissionname) - Menu2 (Combobox - do wyboru Permissionname) - Menu3 (Combobox - do wyboru Permissionname) Ma on przesylac user_id, powyzsze menu_id i per_lvl_id do tabeli user_permission Następnie klikam wyślij i dodaje te 3 rekordy do bazy danych. Jak to mogę rozwiązać? Ten post edytował lukafight 27.02.2012, 10:12:02 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 376 Pomógł: 47 Dołączył: 23.08.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Cytat skrypt PHP generuję formularz: Pokaż co masz ![]() Ten post edytował Kostek.88 27.02.2012, 00:04:30 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 26.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem poprostu co dalej... a może macie inny pomysł by się za to zabrać? Ten post edytował lukafight 27.02.2012, 21:46:59 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 376 Pomógł: 47 Dołączył: 23.08.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
A co chcesz z tym dokładnie zrobić? Chcesz, żeby każdy user miał różne uprawnienia na menu, które są dodane do tabeli? A skąd wiemy któremu userowi aktualnie przydzielasz prawa? Może brakuje nam strony/dodatkowego menu, gdzie najpierw wybierasz usera, a potem wybierasz do którego menu ma mieć odpowiedni poziom uprawnień?
Ja bym zrobił 1) 2 selecty menu -------------- uprawnienie menu -------------- uprawnienie menu -------------- uprawnienie menu -------------- uprawnienie i dobierał parami. Wtedy masz wysyłane pary menu -> uprawnienie ew. 2) 1 select, ale jako value przy każdej opcji dałbym np. idMenu_idUprawnienie, np. 1_2, albo 1_3, albo 4_3, a potem bym rozbijał to funcją explode. Ale jak masz zamiar wybrać do tego usera? Może tak jak na początku napisałem? Wtedy zapamiętujesz gdzieś id usera, np. w input hidden, a potem pobierasz z selecta/ów resztę danych... i dodajesz do tabeli user_permission(id, permission_id, menu_id, user_id): - id (auto) - permission_id (pobrane z selecta po rozbiciu poprzez explode lub z 2ch selectów) - menu_id (jak wyżej) - user_id (wstawiona wartość z input hidden) Po prostu w Twoim designie nie ma miejsca na usera ani menu ![]() PS. Nie czytałem Twojego kodu ![]() Ten post edytował Kostek.88 28.02.2012, 01:26:28 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 26.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
Przepraszam zapomnialem zapodac reszte kodu tzn. HTML a wyglada to tak:
UserID pobieram na samym poczatku formularza. Nastepnie skrypt php wyciaga mi z bazy danych wszystkie menu ktore mam z tabeli Menu. Kazde menu dostaje obok <select> do wyboru z poziomami uprawnien ktore pobieram z innej tabeli Permission. Tak kazdy user ma miec rozne uprawnienia do menu. Cos takiego ma mi wysylac do bazy. Formularz dotyczy tylko jednego usera. - User_Permission_id = 1, User = 1 , Menu = 1, Permisson = 1 - User_Permission_id = 2, User = 1 , Menu = 2, Permisson = 1 - User_Permission_id = 3, User = 1 , Menu = 3, Permisson = 1 Nastepny user dostaje cos takiego. - User_Permission_id = 4, User = 2 , Menu = 1, Permisson = 3 - User_Permission_id = 5, User = 2 , Menu = 2, Permisson = 3 - User_Permission_id = 6, User = 2 , Menu = 3, Permisson = 3 Gdzie Permission = 1 to Read-Only a 3 to Full Control Poniewaz menuid i permissionid to array myslalem nad foreach ale nie wiem jak go skonstruowac a nastepnie FOR loop gdzie bedzie dodawal mi rekordy. Dziekuje za powyzsze wskazowki. Ten post edytował lukafight 28.02.2012, 09:55:35 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 376 Pomógł: 47 Dołączył: 23.08.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
A gdzie masz właściwy kod z formularza HTML? To co podajesz wyżej ma tylko tagi OPTION, bez SELECT. Ogólnie to możesz zrobić coś takiego:
gdzie id_menu to po prostu ID danego menu pobierane z bazy danych. Później
Załatwiasz to 1 pętlą foreach i nie potrzebujesz FOR i innych cudów. Zerknij na konstrukcję foreach w manualu ![]() |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 26.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
Po skonstruowaniu FOREACH dodaje mi on tylko ostatnie wartosci do bazy danych:
Generowanie formularza
Czy jest ktoś w stanie mi pomóc? Pozdrawiam, lukafight Ten post edytował lukafight 10.03.2012, 19:12:46 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 09:49 |