![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 9.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam, jestem początkującym programistą i mam pewien problem. Nie wiem czym się zainteresować, bo być może nie rozumiem czego szukać, proszę o pomoc.
Pytanie: jak zrobić listę rozwijaną bez przeładowania strony nie znając ilości dzieci w głąb, żeby program sam wiedział gdzie postawić plus przy kimś kogo można rozwinąć, a minus jeśli jest ostatni. Poniżej przedstawiam mój kod wykonujący to zadanie ale tylko pokazujący pierwsze dzieci danego id_osoby. Czy powinienem napisać funkcję w jakiejś technologii do zarządzania plusem? Jeśli tak to skąd mam pobierać dane, że akurat "tego" plusa rozwijam? Czy da się to w ogóle zrobić?
Przykładowo tabela drzewo zawiera: id_osoby 1 2 3 4 kolumny 1 || 2 3 4 5 2 || 6 7 0 0 3 || 0 0 0 0 4 || 0 0 0 0 5 || 0 0 0 0 6 || 0 0 0 0 7 || 0 0 0 0 .... Chodzi mi o listę rozwijaną tych pierwszych czterech osób, o ile istnieją. Czyli jeśli odpalam skrypt jako id_osoby==1, wtedy powinienem uzyskać jako wynik 4 numerki i jeden plus przy dwójce. I teraz klikając na dwójkę żeby dalej rozwijało o ile coś w bazie jest. Funkcja sprawdź, sprawdza czy znaleziona(badana) osoba ma pod sobą kogoś, jak ma to powinna wstawić "plus" jeżeli nikogo nie ma to minus. i Tam gdzie jest plus żeby się rozwijało dalej, oczywiście po naciśnięciu plusa, Tylko pierwszy poziom chcę aby był wykonywany po wejściu w skrypt. Wykomentowany kod zawiera pętlę, która pokazuje wszystkie zależności danego id_osoby, jednak tutaj chcę abym ja mógł rozwijać o ile chcę i który węzeł chcę. Nie szukam gotowych rozwiązań tylko proszę o powiedzmy nakierowanie z czego powinienem skorzystać, by zamierzony efekt uzyskać. Jestem samoukiem i uczę się języków głównie poprzez praktykę wymyślając sobie jakieś projekty i tutaj niestety stanąłem w miejscu. Oczywiście przedstawiony kod jest poprawny w działaniu, na pewno nie jest to boski styl pisania., jednak efekt pierwszego poziomu uzyskałem, gorzej z rozwinięciem kolejnego plusika:) Z góry dziękuję za pomoc Pozdrawiam Paweł Ten post edytował paffcio 10.05.2012, 07:53:08
Powód edycji: [strife]: Poprawienie formatowania BB Code
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 07:40 |