![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 21.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam, raczkuję w PHP, więc szukam pomocy i tłumaczenia tutaj (IMG:style_emoticons/default/winksmiley.jpg)
Proszę raczej unikać zbyt fachowego nazewnictwa, bo po prostu mogę nie zrozumieć (IMG:style_emoticons/default/tongue.gif) Ostatnimi czasy męczę się, żeby pobrać wyniki z bazy MySQL (3 pola, id, nick, mail) i sprawdzić, czy nie ma gdzieś pozycji o nicku np. "Nick". Po pobraniu całej tabeli (* from tabela) zatrzymuję się, bo nie wiem jak to ogarnąć. Która tablica jest najlepsza, na tego typu dane? fetch_array, row czy assoc? Jak właściwie działa asocjacyjna? (proszę na chłopski rozum, i wujek google i wiki posiada raczej trudne nazewnictwo i nie podają struktury budowy). Z tym rodzi się kolejny problem. Jeśli już pobiorę tablicę z bazy, jak przejrzeć kolejne wyniki, lecąc od ID 1, do ID (np.) 20? Z tego, co tłumaczył mi mój nauczyciel, wybrać pole można przez nazwa_tabeli[0], [1], lub [2], w moim przypadku, bo assoc podobno zwraca tablicę numeryczną. Jak w takim przypadku pobrać z pola nazwa_tabeli[0] wynik dla nicka o ID 2? Dziękuję z góry za pomoc. Proszę mnie tutaj nie karcić, bo to zniechęca (IMG:style_emoticons/default/tongue.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 429 Pomógł: 195 Dołączył: 6.10.2008 Skąd: Kraków/Tomaszów Lubelski Ostrzeżenie: (0%) ![]() ![]() |
(mysql_fetch_assoc)
1 fetch w while zapisuje wiersz (rekord) wyniku w tablicy asocjacyjnej, ale że jest w while, to zapisze jeden -> wyswietla, potem zapisuje kolejny -> wyswietla i tak dalej, aż wyświetli wszystkie (bo dałem echo-wyświetlanie) 2 fetch ten samotny, nie w pętli while zapisuje tylko jeden wiersz (rekord) do tabeli asocjacyjnej, (odwołanie poprzez wpisanie nazwy pola miedzy te fajne nawiasy prostokątne np. $wynik["id"] (mysql_fetch_row) 3 fetch zapisuje rekord do tablicy wyliczeniowej i działa podobnie jak mysql_fetch_assoc tyle że odwołujemy się do pól tabeli za pomocą $wynik[0] (u ciebie to id), $wynik[2], $wynik[3] itd.. Natomiast funkcja mysql_num_rows służy do policzenia ilości rekordów pobranych przez zapytanie, Przy pomocy WHERE precyzujesz o jaki wynik Ci chodzi, co chcesz pobrać z bazy, jeżeli chcesz pobrać np. wyniki w których `pole`=1 (załóżmy że jest takich 3) to piszemy ...WHERE `pole`=1 i potem zapisujemy do tabicy. Przeważnie jeżeli jest nieokreślona ilość rekordów (2, 5, 4444, 666) to korzystamy do wyświetlania i innych operacji z while, jeżeli natomiast wiesz, że będzie tylko jeden rekord, to nie musisz korzystać z while tylko od razu zapisać do tablicy... Myślę że napisałem baaardzo prosto i zrozumiale, w razie wątpliwości powpisuj nazwy funkcji w Googlach lub zajrzyj do manuala. Pozdro |
|
|
![]() ![]() |
![]() |
Aktualny czas: 2.10.2025 - 19:38 |