Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL]Pobieranie rekordów z bazy do tablicy dwuwymiarowej
sebap123
post 7.07.2011, 21:24:22
Post #1





Grupa: Zarejestrowani
Postów: 253
Pomógł: 1
Dołączył: 26.08.2009
Skąd: Szczecin

Ostrzeżenie: (10%)
X----


Już przejrzałem parę tematów z forum tego i nie tylko i cały czas nie mogę znaleźć rozwiązania mojego problemu.

Tworzę skrypt, który pobiera dane z bazy MySQL, przypisuje je do zmiennej (dwuwymiarowej tablicy) a następnie wykonuje na nic różne operacje. Pierwszy wymiar tabeli to nr wiersza, a drugi to wartości z poszczególnych kolumn tabeli. Przykładowo bym wykonał to w sposób następujący gdybym robił to ręcznie:

  1. $tabela[1]=array('id'=>1,'nazwa'=>'NAZWA1');
  2. print $tabela[1]['nazwa'];
  3. //wyświetla napis NAZWA1


Miałem wiele koncepcji jak to napisać, ale aktualnie mam coś takiego (to tez nie działa niestety):
  1. $query = mysql_query('SELECT *FROM tabela ORDER BY nazwa');
  2. $i=0;
  3. while($result = mysql_fetch_row($query))
  4. {
  5. $array[$i]=$result;
  6. $i++;
  7. }

Dlatego mam pytanie, czy ktoś może mi podpowiedzieć, jak to wykonać, bo już brakuje mi pomysłów.
Go to the top of the page
+Quote Post
nospor
post 7.07.2011, 21:31:59
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Masz błąd zapytania. Na przyszłość sprawdzaj czy wszystko się powiodło, a nie zakładasz że się powiodło...

NIe: *FROM
a: * FROM

Zapoznaj się z tematem:
Temat: Jak poprawnie zada pytanie
I zastosuj do porad tam podanych. Będziesz rzadziej zaglądał na forum


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
sebap123
post 7.07.2011, 21:52:24
Post #3





Grupa: Zarejestrowani
Postów: 253
Pomógł: 1
Dołączył: 26.08.2009
Skąd: Szczecin

Ostrzeżenie: (10%)
X----


Ok, zmieniłem zapytanie, ale i tak nic. Sprawdziłem temat do którego mnie skierowałeś i też nic. Tak na marginesie, tamten typ zapytani (czyli *FROM) działał w 100% we wszystkich wywołaniach, tak wiec, jaka jest różnica?

No ale jeśli chodzi o problem to nadal nierozwiązany.
Go to the top of the page
+Quote Post
foxbond
post 7.07.2011, 22:02:01
Post #4





Grupa: Zarejestrowani
Postów: 162
Pomógł: 12
Dołączył: 20.12.2009
Skąd: Siedlce

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


Na 100% działa:

  1. $query = mysql_query('SELECT * FROM tabela ORDER BY nazwa');
  2. $i=0;
  3. $arr = array();
  4.  
  5. while($res = mysql_fetch_row($query))
  6. {
  7. $arr[$i++]=$res;
  8. }
  9. print_r($arr);
Go to the top of the page
+Quote Post
sebap123
post 7.07.2011, 22:07:53
Post #5





Grupa: Zarejestrowani
Postów: 253
Pomógł: 1
Dołączył: 26.08.2009
Skąd: Szczecin

Ostrzeżenie: (10%)
X----


Działa, ale niestety nie na 100%. Wygląda jakby pobierał całą tablicę, bo gdy sprawdzam rozmiar to się wszystko zgadza, ale jak wywołuję:
  1. $tablica[1]['nazwa']

To nie zwraca pożądanego wyniku.

Ten post edytował sebap123 7.07.2011, 22:11:12
Go to the top of the page
+Quote Post
nospor
post 7.07.2011, 22:13:33
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




nie: mysql_fetch_row
a: mysql_fetch_array

a nastepnym razem zamknę ci temat, bo nie zastosowałeś się do wskazówek jakie były w temacie. Jakbyś się zastosował to:
1) miałbyś na ekranie błędy, a ty nam nic o błędach nie mówisz - błędów więc nie widzisz. nie widzisz bo nie zastosowałeś się do wskazówki o błędach
2) zrobiłbyś głupie print_r i byś wiedział czemu nie działa...
Powód edycji: [nospor]:


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
sebap123
post 7.07.2011, 22:21:26
Post #7





Grupa: Zarejestrowani
Postów: 253
Pomógł: 1
Dołączył: 26.08.2009
Skąd: Szczecin

Ostrzeżenie: (10%)
X----


Dobra ruszyło, dzięki. Co do błędów, to nic nie było. No ale mniejsza. Cały czas zastanawia mnie tylko jaka jest różnica miedzy *FROM, a * FROM (bo jak dla mnie to tylko w wyglądzie). Sprawdziłem też w phpMyAdmin i dla niego nie ma znaczenia czy spacja jest czy nie.
Go to the top of the page
+Quote Post
nospor
post 7.07.2011, 22:25:41
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Nie wdziałeś błędów, bo nie włączyłeś ich wyświetlania. A w linku była o tym mowa.
Była też mowa o banalnym debugowaniu jakim jest print_r();
A ty nawet tego nie zrobiłeś choć podał ci to w swoim przykładzie autor poprzedniego posta.

zwracaj uwagę na to co ci ludzie piszą, zwracaj uwagę na tematy do jakich cię przekierowują. Uczciwie piszę, że takie tematy jak ten teraz, bedę zamykał. Nie po to jest przygotowany zestaw pewnych wskazówek by za każdym razem każdemu z osobna pisać: zrób to, zrób tamto, a teraz weź zrób to...


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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: 14.08.2025 - 09:09