![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 004 Pomógł: 9 Dołączył: 18.01.2011 Skąd: Siedlce Ostrzeżenie: (30%) ![]() ![]() |
Witam, mam pewną pętlę foreach, w której muszę zwiększać parametr $this->i o jeden.. próbuję już ponad godzinę na różne sposoby i nie idzie za nic.. proszę o pomoc, kod:
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 651 Pomógł: 116 Dołączył: 3.06.2012 Skąd: Lędziny Ostrzeżenie: (0%) ![]() ![]() |
Nie rozumiem Cię... Masz kod mniej więcej taki:
No i jakim cudem ma Ci się to $i zwiększać o jeden jak Ty tego nigdzie nie zdefiniowałeś...? Musisz wewnątrz pętli dorzucić:
czyli:
Ten post edytował Michael2318 2.12.2013, 19:47:35 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 587 Pomógł: 190 Dołączył: 5.02.2011 Skąd: 64-800 Ostrzeżenie: (0%) ![]() ![]() |
Wewnątrz foreach() zwiększanie nic nie da, niech doda pętlę for() przed foreach() na podstawie count($this->xtab)
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 651 Pomógł: 116 Dołączył: 3.06.2012 Skąd: Lędziny Ostrzeżenie: (0%) ![]() ![]() |
Wewnątrz foreach() zwiększanie nic nie da, niech doda pętlę for() przed foreach() na podstawie count($this->xtab) Dać da - zliczy konkretną ilość "przelotów" przez pętlę. Nie wiem w jakim celu mu to dodawanie jest potrzebne bo tego nie napisał, aczkolwiek wykorzystuje ją w uwarunkowaniu samej pętli foreach() i w tym wypadku rzeczywiście to nic nie da. Możesz spróbować z tą pętlą for, tak jak zaproponował poprzednik np. tak:
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 004 Pomógł: 9 Dołączył: 18.01.2011 Skąd: Siedlce Ostrzeżenie: (30%) ![]() ![]() |
Nie wiem dlaczego, ale to mi nie chce działać, bo nic mi nie wyświetla, a te zliczanie mi potrzebna (jak zauwazyles) zeby zmieniac wartosc w pętli foreach()
sa jakies inne rozwiazania? bo jak wpisze np
to mi dziala, juz nie mam pojecia co jest Ten post edytował miras 2.12.2013, 20:25:28 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 651 Pomógł: 116 Dołączył: 3.06.2012 Skąd: Lędziny Ostrzeżenie: (0%) ![]() ![]() |
Pokaż cały ten kod, który Ci nie działa (jak go zedytowałeś).
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 004 Pomógł: 9 Dołączył: 18.01.2011 Skąd: Siedlce Ostrzeżenie: (30%) ![]() ![]() |
no ja juz wariuje.. jak dam tak: to wywala mi błąd: Notice: Undefined offset: 3 in ... on line 74 74 linijka to:
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 651 Pomógł: 116 Dołączył: 3.06.2012 Skąd: Lędziny Ostrzeżenie: (0%) ![]() ![]() |
A co w ogóle zwraca Ci count($xtab) ?
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 004 Pomógł: 9 Dołączył: 18.01.2011 Skąd: Siedlce Ostrzeżenie: (30%) ![]() ![]() |
nie bardzo mam jak to sprawdzić, bo robię to w kontrolerze, ale jak tam numer tablicy 0 to nic się nie wyswietla, a jak dam 1 to jest dobrze (czyli w przy jednej pozycji się wyświetla, a przy drugiej nie i tak powinno być, a jak zrobię, w pętli (tak jak podałem w przykładzie) to w obu pozycjach wyświetla mi się to samo, a powinno w jednej się wyświetlić, a w drugiej nie... nie zrozumiecie pewnie, bo namotałem, ale w tablicy jest wszystko ok..
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
print_r($xtab) i wyjdzie szydło z worka
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 1 004 Pomógł: 9 Dołączył: 18.01.2011 Skąd: Siedlce Ostrzeżenie: (30%) ![]() ![]() |
Array ( [0] => [1] => 51 [2] => 52 [3] => 51 [4] => 52 ) to mi zwróciło
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 587 Pomógł: 190 Dołączył: 5.02.2011 Skąd: 64-800 Ostrzeżenie: (0%) ![]() ![]() |
Skoro wartości się powtarzają to i w foreach() się powtarza to samo. Poza tym masz pewnie przecinek na początku $this->tab
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 1 004 Pomógł: 9 Dołączył: 18.01.2011 Skąd: Siedlce Ostrzeżenie: (30%) ![]() ![]() |
a jak się nazywała funkcja usuwająca powtarzające się i puste rekordy ?
Ten post edytował miras 2.12.2013, 22:15:26 |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 587 Pomógł: 190 Dołączył: 5.02.2011 Skąd: 64-800 Ostrzeżenie: (0%) ![]() ![]() |
$xtab = array_values(array_filter(array_unique($xtab)));
pierwsza przypisuje nowe klucze kolejno, druga usuwa puste, trzecia zwraca unikalne (IMG:style_emoticons/default/wink.gif) Ten post edytował _Borys_ 2.12.2013, 22:35:02 |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 1 004 Pomógł: 9 Dołączył: 18.01.2011 Skąd: Siedlce Ostrzeżenie: (30%) ![]() ![]() |
To mi zwraca.. czyli nadal coś nie tak. no teraz dobrze.. ale nadal mi wyświetla w 2ch pozycjach, a powinno w jednej |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 587 Pomógł: 190 Dołączył: 5.02.2011 Skąd: 64-800 Ostrzeżenie: (0%) ![]() ![]() |
Jak to robisz że tak samo wychodzi, podaj kod ?
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 1 004 Pomógł: 9 Dołączył: 18.01.2011 Skąd: Siedlce Ostrzeżenie: (30%) ![]() ![]() |
Tam jest raczej dobrze wszystko, bo pod ten kod podpięte jest wyświetlanie tych danych na podstronie i jest wszystko.. ale podam kod:
najpierw kontroler:
widok: http://wklej.org/id/1195397/ |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 587 Pomógł: 190 Dołączył: 5.02.2011 Skąd: 64-800 Ostrzeżenie: (0%) ![]() ![]() |
Wyświetla to samo dwa razy ?
|
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 1 004 Pomógł: 9 Dołączył: 18.01.2011 Skąd: Siedlce Ostrzeżenie: (30%) ![]() ![]() |
no tak właśnie.. a z bazy powinien się jeden wyświetlać..
|
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 587 Pomógł: 190 Dołączył: 5.02.2011 Skąd: 64-800 Ostrzeżenie: (0%) ![]() ![]() |
To pewnie gdzie indziej błąd. A od czego zależy, żeby raz wyświetlało ?
W tablicy masz dwie wartości, pętla for() przelatuje dwa razy czyli wyświetla dwa razy, może złe dane masz w tablicy. Zakomentuj for(){} i ręcznie wpisz indeksy w foreach() Raz:
Potem drugi raz:
Jak wyświetli za każdym razem to szukaj błędu w innym miejscu. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 00:31 |