![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 16.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Wykombinowałem taką funkcje podającą id uzytkownikow podleglych pod parrent_id
funkcja podaje mi prawidłowo 8,9,11,13,14,12,10,17, jak mam zapisać to do tablicy ? Pozdrawiam |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
np. static albo global ;]
-------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
A może zamiast kombinować z kilkunastoma zwrotkami i potem jechać while dałbyś w zapytaniu where jakieś id group by to id i w select group_concat? Dostałbyś także wszystkie id odzielone przecinkami i potem już można się bawić, przykładowo konwertując string do tablicy funkcją explode. Zresztą w Twojej wersji też explode można użyć.
-------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 16.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
explode nie wyjdzie bo funkcja nie zwraca tylko wyrzuca na ekran po koleji 2,2,3,4,5,67,
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Skoro Ci zależy tylko i wyłącznie na znalezieniu userów podległych jedynie konkretnemu innemu o nie prościej użyć:
Inaczej to nieco wygląda jeśli chcesz jeszcze rekurencyjnie sprawdzać, czy pod jakiegoś do tego podległego nie ma podległego kolejnego. Wtedy bowiem bliższe jest Twojemu rozwiązaniu jeśli zachowamy strukturę bazy bez zmian. Zmiany nastąpią w nieco innym podejściu do danych. Zamiast echo pojawi się zapis do tablicy, sama tablica pojawi jako parametr funkcji także.
Od razu mówię, że nie jest to optymalne co robisz i moim zdaniem niepoprawne, bo tworzysz do bazy wiele zapytań zbędnych, które nic nie zwrócą. Do tego kompletnie gubisz zależności. Nie wiesz co jest bezpośrednim podwładnym a co podwładnym podwładnego podwładnego ![]()
Powód edycji: [thek]: W przeróbce Twojej metody nie chciałem się już bawić w walidację ( ctype_digit w pierwszym kodzie )
-------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 251 Pomógł: 34 Dołączył: 7.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
Męczyłem się z dobre dwa dni z funkcją rekurencyjną i nie wiedziałem, czemu nie działa, aż znalazłem ten temat. Dzięki thek!
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 20.07.2025 - 05:44 |