![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 1 Dołączył: 28.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
może banalne pytanie ale dlaczego wykona się tylko wewnętrzna pętla?
zakładając, że obie tablice nie są puste, wyświetli się przynajmniej raz tylko 'result2'. Zmienne: $result === $result2 Może też napiszę po co mi to (może ktoś podsunie lepsze rozwiązanie bardziej optymalne). Użytkownik na tablicy może dodawać sobie posty i każdy post można komentować. Pętla wyżej w moim kodzie ma za zadanie wyświetlać post macierzysty i potem ponownie przeszukiwać kopię tablicy w celu znalezienie subpostów postu macierzystego. Struktura html takiej "paczki" wygląda mniej więcej tak:
Ten post edytował qbas-s 10.06.2014, 21:39:55 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 51 Pomógł: 2 Dołączył: 4.09.2013 Ostrzeżenie: (0%) ![]() ![]() |
przedewszystkim to syntax za niedomknięcie okrąglego nawiasu w drugiej pętli
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 1 Dołączył: 28.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
przeoczenie, poprawiłem i trochę dopisałem. W kodzie oczywiście dokładnie tak nie mam ale idea jest identyczna
Ten post edytował qbas-s 10.06.2014, 16:09:20 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Proponuję var_dump($value)
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 1 Dołączył: 28.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
var_dump($value) pokaże tylko dane które wyświetli druga pętla. Kiedy usunę drugą pętle wtedy pierwsza wyświetla prawidłowo dane. Tak jakby druga niby niezależna pętla miała wpływ na działanie pierwszej.
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 74 Pomógł: 3 Dołączył: 30.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Nie powinno być tak?:
Trudno tak zobaczyć o co chodzi. Mógłbyś powiedzieć coś więcej ? pokazać tablicę? |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 1 Dołączył: 28.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
nie.
przykładowa zawartość zmiennej $value (tablica dla postu macierzystego):
przykładowa zawartość zmiennej $value2 (tablica subpostu)
index w_parent jeśli jest null wtedy wskazuje na post macierzysty. Jeśli jest różny od null wtedy oznacza, że tablica jest subpostem postu o w_id takim jak w_parent. Jednak wydaje mi się, że zagłębianie się aż tak w całą tą idee jest chyba nie istotne. Bo pytanie brzmi: dlaczego wewnętrzna pętla z pierwszego postu zaburza pracę tej pierwszej. Ten post edytował qbas-s 10.06.2014, 21:42:50 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Przecież to nie jest ze sobą w ogóle powiązane, więc jak ma być zależne? Chyba sam się zakręciłeś w tym co chcesz zrobić. Skoro masz jakieś posty i subposty, to zrób sobie z tego tablicę wielowymiarową i leć po tym normalnie foreach, ale po JEDNEJ tablicy, a nie 2 zupełnie różnych.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 1 Dołączył: 28.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
właśnie ja też nie rozumiem dlaczego jedna pętla ma wpływ na drugą skoro operują na dwóch innych tablicach. Mógłbym to zrobić inaczej ale to więcej kombinowania wtedy a chciałem to załatwić za pomocą jednego zapytania sql z join'ami i max dwiema pętlami foreach
EDIT: znalazłem rozwiązanie, operowałem na obiekcie a obiekty w php przekazywane są przez referencje i tu pies pogrzebany. Operowanie na tablicy obiektu załatwiło sprawę. Ten post edytował qbas-s 11.06.2014, 11:58:03 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 23:32 |