Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: No takie proste, ale... -> wyswietlanie rekordow
Forum PHP.pl > Forum > Bazy danych > MySQL
dareckiphp
Moze mi ktos powiedziec jak mozna pobrac dane z drugie rekordu tabeli. Dziala i poprawnie pobiera jedynie $wynik[0] czyli z pierwszego rekordu. Gdybym chcial dostac sie do drugiego rekordu i wywyolac go za pomoca $wynik[1] wyswietla info o braku rekordow. Oczywiscie poprzez SQL zapytanie dziala poprawnie.

Kod
$query = mysql_query ("SELECT miniatura FROM `katalog` WHERE ojciec = 0");

$wynik = mysql_fetch_row($query);

echo "$wynik[0]";
Jabol
każde wywołanie mysql_fetch_array() przesuwa o rekord dalej (dlatego daje się while( $wynik = mysql_fetch_array() )
DeyV
Kod
$query = mysql_query ("SELECT miniatura FROM `katalog` WHERE ojciec = 0 LIMIT 1,1");

$wynik = mysql_fetch_row($query);

echo "$wynik[0]";

Pobierze 1 rekord począwszy od 1, (czyli druga pozycja)
dareckiphp
Nie bardzo rozumiem do czego ma tu sluzyc LIMIT. Chodzi jedynie o wyciagniecie chocby w funkcji echo drugiej wartosci otrzymanej poprzez zapytanie. Nie dziala $wynik[1] a jedynie [0].
Jak zatem mozna zobaczyc drugi rekord?
zalew
tak jak ci napisal... limit po to by nie lecial 1000 rekordow tylko tyle ile trzeba i zatrzymal sie

1,1 oznacza tak jak ci wyjasnil wyzej czyli drugi rekord
[0] bo tablica sie liczy od zera.. w czym problem ?

jakby mial limit 1,3 to by ci [2] zadzialalo, ale przy jednym powtorzeniu jak chcesz miec kolejne pozycje??
DeyV
a jeżeli mimo wszystko chcesz pobrać zapytaniem więcej rekordów, to musisz poprostu ponownie wywołać funckję typu mysql_fetch_row, ponieważ każde jej wywołanie przesuwa wewnętrzny wskaźnik o 1 do przodu (nigdy nie pobierze razy tego samego)
uboottd
Mysl dwuwymiarowo winksmiley.jpg Szybkie wyjasnienie:

W twoim kodzie $wynik[0] oznacza doslownie 'pierwsza kolumna pobranego rekordu', natomiast $wynik[1] oznacza doslownie 'druga kolumna pobranego rekordu'.

Po prostu odliczasz po kolumnach (a zapytanie zwraca tylko jedna, wiec nie dziwota ze drugiej nie ma).

Jak chcesz miec kolejny rekord zanczy wiersz to tak ja juz Ci powiedzieli - ponownie wywolaj funkcje mysql_fetch_row i wtedy $wynik[0] bedzie pierwsza kolumna kolejnego rekordu.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.