Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Tablice a pobieranie danych z bazy MySQL
Szprajcik
post
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)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
MateuszS
post
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
Go to the top of the page
+Quote Post

Posty w temacie
- Szprajcik   [PHP] Tablice a pobieranie danych z bazy MySQL   6.03.2010, 23:44:42
- - d3f3nd3r   Ale nie wyciąga się wszystkiego z bazy a potem za ...   6.03.2010, 23:54:32
- - MateuszScirka   [PHP] pobierz, plaintext $zapytanie = mysql_query...   6.03.2010, 23:56:02
- - Szprajcik   Aaa, rozumiem. Czyli nie przelatuję całej bazy z g...   7.03.2010, 00:01:13
- - d3f3nd3r   nie sprawdzasz czy jest taki nick a potem odpytuje...   7.03.2010, 00:13:38
- - MateuszScirka   (mysql_fetch_assoc) 1 fetch w while zapisuje wiers...   7.03.2010, 00:14:18
- - Szprajcik   Bardzo jasno, dziękuję uprzejmie . Ostatnie pytan...   7.03.2010, 00:22:28
- - MateuszScirka   Pewnie że się da, nawet więcej. Dużo o tym na GOO...   7.03.2010, 00:32:13
- - Szprajcik   Ok, poczytam, dziękuję bardzo za pomoc. Jednak Wa...   7.03.2010, 00:53:43
- - kuzdo   Sprawdź sobie to: Plik zapisz jako test.php: [PHP]...   7.03.2010, 00:59:05
- - Szprajcik   kuzdo, problem rozwiązał się przy zamianie assoc n...   7.03.2010, 01:00:48
- - kuzdo   Bo assoc to tablica asocjacyjna, gdzie komórki maj...   7.03.2010, 01:03:09
- - Szprajcik   [PHP] pobierz, plaintext $dodawanie = ('INSERT...   7.03.2010, 01:15:16
- - kuzdo   Jeżeli cały ciąg dajesz w " " to w środk...   7.03.2010, 01:25:43
- - Szprajcik   O, super, działa ładnie. Wtedy dodawało mi do bazy...   7.03.2010, 01:29:30
- - kuzdo   BTW. czy id jest auto_increment? Jeśli tak, to moż...   7.03.2010, 01:36:35
- - Szprajcik   tak, mam auto_increment Dziękuję Ci uprzejmie. T...   7.03.2010, 01:41:21
- - Walian   [PHP] pobierz, plaintext $dodaj_query = (...   7.03.2010, 01:54:07
- - kuzdo   Polecam Notepad++ bardzo ładnie koloruje składnię ...   7.03.2010, 11:59:02


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

 



RSS Aktualny czas: 2.10.2025 - 19:38