![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 213 Pomógł: 0 Dołączył: 7.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
W poprzednim moim temacie uzyskałem odpowiedź o drzewo rekurencyjne, jednakże nie potrafię jej zastosować z różnych gotowców z internetu jak i pisząc ją sam. Dlatego odnoszę się w tym temacie z prośbą o pomoc jak tego dokonać. Napisałem obecnie taki skrypt:
Jednakże działa on tylko do podkategorii-podkategorii, czyli nie szuka np. podkategorii-podkategorii-podkategorii danej kategorii. Mój poprzedni temat: Temat: SQLPHPDodanie ilosci watkow z dzialu subdzialow Czy mógłby mi ktoś z tym pomóc? Dodam że od wczoraj do teraz ciągle próbowałem to zrobić, jednakże bezskutecznie. Dziękuję z góry, Pozdrawiam! Ten post edytował Weles 4.05.2012, 12:34:52 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Rekurencja polega na wczytywaniu tej samej funkcji przez samą siebie. A Ty robisz jakieś dziwolągi.
-------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 213 Pomógł: 0 Dołączył: 7.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
W czym "$jest_krzak" jest to.. ?
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
To po prostu zmienna, którą sprawdzasz czy jest dzieckiem, jeśli tak, wykonujesz funkcje jeszcze raz, jeśli nie, sprawdzasz dalej.
-------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 6 Dołączył: 3.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Moze tak bedzie latwiej zrozumiec zasade tworzenia:
function znajdz_podkategorie($kategoria) { Tutaj wpisujesz kod ktory wyszuka podkategorie i np tworzysz tablice przechowujaca to co potrzebujesz (nazwy, adresy...) powiedzmy ze $wynik if(znaleziono podkategorie) { for(kazda ze znalezionych podkategorii) { $wynik.=znajdz_podkategoie($podkategoria) } } return $wynik; } Ten post edytował kontur 4.05.2012, 16:33:07 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 213 Pomógł: 0 Dołączył: 7.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
No więc według tego co napisałeś, napisałem kod:
I zapewne nadal źle zrozumiałem to co pisałeś, ponieważ nie działa.. Tutaj "podkategorie('8')" wpisałem ID jednego z działów do przeszukania.. Ten post edytował Weles 4.05.2012, 17:00:50 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 6 Dołączył: 3.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Ale nie widze, zeby w tym kodzie bylo rekurencyjne wywolanie funkcji podkategorie()
Powinno sie ono znalesc w petli for i wykonene dla kazdego z juz znalezionych elementow. Poza tym jesli potrzebujesz liste podkategorii to zapis $pa_nazwa = $pa['nazwa']; jest bledny, bo funkcja zwroci Ci tylko nazwe uzyskana w ostatniej iteracji petli for zamiast listy wynikow. Powinno byc: $pa_nazwa=array(); //gdzies nad petla for a w petli $pa_nazwa[] = $pa['nazwa']; |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 213 Pomógł: 0 Dołączył: 7.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Heh..
To było wręcz śmieszne, zmienna $baza_forum nie działała bo była w innym pliku, dopiero kolega mnie naprowadził.. Jednak rozumiem tą rekurencje tylko wszystko mi psuła ta zmienna.. teraz na luzie napisałem sobie tą rekurencje i działa.. Dzieki za pomoc. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 00:40 |