![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 377 Pomógł: 9 Dołączył: 2.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Hej, mam podstawowe 3 tabele w MySQL:
1. users (w tym przypadku potrzebna kolumna to jedynie ID) 2. innowacje_levels (w którym znajdują się wszystko "Innowację" i wymagania kiedy będą aktywne dla danego użytkownika (odpowiedni jego lvl, budżet itd), kolumny potrzebne to: ID i Nazwa). 3. innowacje (tutaj znajdują się wszystkie innowację które użytkownik odkrył, lub je odrywa (jest kolumna "czas" która odlicza, czy innowacja już jest dostępna czy jeszcze nad nią "Pracuję", kolumny potrzebne to: id_u (=id users), id_i (=id innowacje_levels), oraz czas..). Jestem w trakcie tworzenie Panelu Administracyjnego i chcę w łatwy sposób wyświetlać jakie użytkownik posiada Innowację i ewentualnie Dodać mu jakąś lub Zabrać.. Wiec robię sobie pętle i pobieram wszystkie Innowację (z tabeli: innowacje_levels), a następnie wyświetlam je za pomocą: checkbox, jeśli użytkownik posiada jakąś innowację to ten checkbox jest zaznaczony (wyjątkiem jest wtedy gdy jeszcze nad nim pracuję).. Kod PHP za wyświetlanie..
(oczywiście cały formularz mam, przesyłam dane za pomocą post itd..) I teraz przykład: Załóżmy, że użytkownik posiada 2 Innowację aktywne (id_i= 31 oraz 2 i id = 1 oraz 2) oraz 3 (id_i = 30 i id = 3) w trakcie tworzenie (a wiec czas > 0). A wiec teraz chciałbym temu użytkownikowi odebrać innowację o id = 1 i id_i = 31, a wiec sobie odznaczam na mojej liście checkbox tą pozycję i klikam button: "Edytuj" i w jaki sposób teraz mam wiedzieć które ID mam usunąć, skoro printuję się jedynie wartości zaznaczone ? Bo jeśli miało by się jedynie dodawać, a wiec chce sobie dodać tą wartość którą checbox'uję to wtedy foreach i spoko.. ale w drugą stronę nie potrafię tego zrobić.. Myślałem, aby zrobić tak: Już w wersji edytowania, ponownie zrobić pętlę ze wszystkimi innowacjami wybranego użytkownika:
I później sprawdzać: Jeśli jest checbox zaznaczony + w tabeli istnieje już taka innowacja przypisana temu użytkownikowi to nic nie robić, no chyba, że czas jest większy od 0, to wtedy zaktualizować tą wartość i zmienić czas = 0. Jeśli checbox jest zaznaczony, ale w tabeli nie istnieje taka innowacja przypisana temu użytkownikowi, to dodać tą innowację mu. Jeśli w tabli są jakieś pozostałe wartości przypisane temu użytkownikowi, a checbox jest przy nich odznaczony to je usunąć, za wyjątkiem tych których czas jest > 0.. No ale na starcie poległem... Niby coś takiego robiłem, że chciałem sprawdzić co jest przypisane, a co nie.. ale coś to nie wychodziło mi
Może wy mi coś pomożecie w tej sprawie ? Pozdrawiam i z góry bardzo dziękuje za pomoc (IMG:style_emoticons/default/smile.gif) Ten post edytował Giluś 15.09.2014, 11:42:41 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Nieautoryzowani Postów: 50 Pomógł: 2 Dołączył: 28.05.2013 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem czy dobrze zrozumiałem, więc spróbuję to zobrazować na małym przykładzie i powiedz mi czy tak ma to działać:
Użytkownik ma jakieś opcje: zmiana_hasła = tak zmiana_nicka = nie dodaj_avatar = nie ukryj_email = tak I teraz chcesz mu zmienić dodaj_avatar na 'tak' i ukryj_email na 'nie', więc zaznaczasz checkboxa przy dodaj_avatar, a usuwasz przy ukryj_email, potem wysyłasz formularz, tak? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.09.2025 - 08:27 |