![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 17.07.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam tabelę miasto z kolumnami id, nazwa. Chodzi o wyświetlenie jej zawartości. Mam to zrobić za pomocą pętli foreach. Wymyśliłem, że dane pobrane z bazy wstawię do tablicy asocjacyjnej, aby w łatwy sposób dostać się do danych np. row['id'], row['nazwa']. Tylko jest probem, że warunek zadania to użycie pętli foreach, która nie chce być posłuszna (IMG:style_emoticons/default/biggrin.gif) . Oto kod:
Gdy użyję samej pętli while to ładnie wyświetla tabelę. Natomiast foreach powoduje takie cuda: (IMG:http://files.tinypic.pl/i/00637/ds48tcsnwjbm.png) Szukałem już wielu rozwiązań w internecie i już mam lekko dosyć . Dlatego też piszę tutaj na forum. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Tak naprawdę użycie foreach tutaj nie pasuje, bo dane z bazy powinno się pobierać wiersz po wierszu, tak jak Ty to zrobiłeś. Żeby użyć foreach, to musisz pobrać wszystkie wyniki naraz za pomocą mysqli_fetch_all. Ewentualnie możesz wyświetlić każdy wiersz osobno z foreach, żeby iterować każdą komórkę, ale to dosyć dziwne w tym przypadku.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 183 Pomógł: 14 Dołączył: 27.09.2014 Ostrzeżenie: (0%) ![]() ![]() |
Musiałbyś najpierw wstawić do tablicy wszsytko a potem odczytać tablice foreachem.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 17.07.2012 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki ilidir za pomoc. Niby tak proste rozwiązanie a ciężko było wpaść na nie.
Teraz już wszystko działa jak należy (IMG:style_emoticons/default/smile.gif) Zrobiłem tak:
Ten post edytował Lukis92 28.02.2015, 12:37:59 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Czy nauczyciel akceptuje rozwiązania, które są bez sensu? Bo to jest bez sensu. To tak jakbyś robił porządek w pokoju w taki sposób, że wywalasz wszystko na środek i ustawiasz tak jak było.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 17.07.2012 Ostrzeżenie: (0%) ![]() ![]() |
Nie jest to na uczelnie. Uczę się teraz z czystej chęci. Znalazłem zbiór zadań jakieś uczelni z php i go po kolei przerabiam.
Oto treść: (IMG:http://files.tinypic.pl/i/00637/gzckxtgchn6q.png) Może źle rozumiem treść zadania ale myślę, że o to chodziło (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Chcą, żebyś wczytał je do tablicy. Jeśli dane pochodzą z bazy danych, to to nie jest najlepsze wyjście. Ale jeśli chcesz tak zrobić, to użyj mysqli_fetch_all, które automatycznie zbiera wyniki z bazy do tablicy. mysql_fetch_assoc służy do tzw. fetchowania tablicy, czyli ładowania wyników wiersz po wierszu. Składanie tablicy tą metodą to rozwiązanie naokoło.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 17.07.2012 Ostrzeżenie: (0%) ![]() ![]() |
Więc wczytuję do tablicy pobierając z bazy. Teraz poprawiłem w ten sposób:
Niezła ta funkcja mysqli_fetch_all. Znacznie łatwiejsza w ogarnięciu (IMG:style_emoticons/default/smile.gif) . Czy chodziło Ci o ten sposób rozwiązania? Ten post edytował Lukis92 28.02.2015, 17:29:10 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Tak, bardzo dobrze (IMG:style_emoticons/default/smile.gif) Jedyne co bym zmienił to nazwy zmiennych, bo $row teraz tak naprawdę zawiera wszystkie wyniki, więc może $rows?
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.09.2025 - 23:43 |