![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 7.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
czesc pisze sobie taki maly skrypcik ktpory bd zwracal wyniki z bazy danych. mam takie małe pytanie dlaczego kiedy mam taka pętlę:
to rzegladarka wyswietla mi tylko pierwszy rekord z bazy danych i to w dodatku an okraglo (musze zatrzymywac wczytywanie strony!) a gdy zmienie na:
to wszystko jest ok Cały kod (działający):
oraz NIE działający:
Ten post edytował major697 11.03.2016, 21:08:14 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Manual mówi: mysqli_result::fetch_array -- mysqli_fetch_array — Fetch a result row as an associative, a numeric array, or both
Funkcja zwraca jeden wiersz, a w obiekcie $rezultat przestawia wskaźnik na następny wiersz, tak aby przy kolejnym wywołaniu mysqli_fetch_array zwrócić kolejny. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 7.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
Chodzi mi o samą pętlę while w niedziałającym kodzie w linii 16 jest zmienna $wyniki, następnie w pętli while w nawiasie podałem odwołanie do tej zmiennej i tu moje pytanie dlaczego nie działa ono prawidłowo tylko musiałem wpisać całe zapytanie tak jak w działającym kodzie w linii 17:
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 2 Dołączył: 30.03.2012 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
Jakbyś zastosował taki skrypcik:
wiesz co zawiera $row? i dlaczego $row = $wyniki? każdy wiersz byłby 'wzięty' do pętli, a potem w kolejnej pętli wyświetlamy wartości z danego wiersza. $wyniki = mysqli_fetch_array($rezultat) przedstawia wynik odpowiedzi z bazy danych MySQLi w zmiennej $rezultat w postaci tablicy, z której można wyczytać kolejne wartości, $wyniki w pętli while zawiera aktualny indeks, np. jeśli mysqli_fetch_array($rezultat) ma 5 wartości (0-4) można odwoływać się: $wyniki = mysqli_fetch_array($rezultat); WYPISZ $wyniki[0]; WYPISZ $wyniki[1]; WYPISZ $wyniki[2]; WYPISZ $wyniki[3]; WYPISZ $wyniki[4]; ale pętla robi przełożenie na kolejny indeks za nas i my tylko operujemy na zmiennej $wyniki. w wypadku MySQLi (MySQL też) $wyniki jest tablicą asocjacyjną, zawiera indeksy numeryczne od 0 oraz znakowe (nie wiem jak się to mówi profesjonalnie), czyli można w Twoim kodzie się odwołać przez: while ($wyniki = mysqli_fetch_array($rezultat)) { echo "ID to: ".$wyniki['id']; echo "ID to: ".$wyniki[0]; } o ile pobrałeś z bazy komórkę o nazwie ID, która jest na pozycji 0. jeśli coś nie jasno napisałem, odezwij się, wyjaśnię (IMG:style_emoticons/default/wink.gif) ps. a sam $rezulat nie zawiera takiej tablicy, przez co nie można tego użyć w pętli ( while($rezultat){} ). Ten post edytował Popek231 13.03.2016, 13:43:59 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 13:25 |