Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> No takie proste, ale... -> wyswietlanie rekordow
dareckiphp
post 7.08.2003, 12:39:11
Post #1





Grupa: Zarejestrowani
Postów: 107
Pomógł: 0
Dołączył: 10.07.2003

Ostrzeżenie: (0%)
-----


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]";
Go to the top of the page
+Quote Post
Jabol
post 7.08.2003, 12:43:20
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 467
Pomógł: 13
Dołączył: 22.02.2003

Ostrzeżenie: (0%)
-----


każde wywołanie mysql_fetch_array() przesuwa o rekord dalej (dlatego daje się while( $wynik = mysql_fetch_array() )
Go to the top of the page
+Quote Post
DeyV
post 7.08.2003, 12:43:39
Post #3





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




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)


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
dareckiphp
post 7.08.2003, 13:15:26
Post #4





Grupa: Zarejestrowani
Postów: 107
Pomógł: 0
Dołączył: 10.07.2003

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
zalew
post 7.08.2003, 13:54:12
Post #5





Grupa: Zarejestrowani
Postów: 407
Pomógł: 0
Dołączył: 24.10.2002
Skąd: warszawa

Ostrzeżenie: (0%)
-----


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??


--------------------
Go to the top of the page
+Quote Post
DeyV
post 7.08.2003, 14:03:52
Post #6





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




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)


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
uboottd
post 7.08.2003, 21:43:39
Post #7





Grupa: Zarejestrowani
Postów: 384
Pomógł: 0
Dołączył: 3.04.2003
Skąd: Chorzow

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 23:06