Strona 1 z 1

Pobranie danych z mysql i zapisanie ich do tablicy.

PostNapisane: 2012-06-08, 11:50:33
przez Undertaker DeadMan
Otóż mam tabelę z polami a i b.
I chce je zapisać w tablicy w takiej postaci:
Kod: Zaznacz cały
$data - array (
$a(wynik1 )=> $b(wynik1),
$a(wynik2) => $b(wynik2), itd);

Mam takie coś ale wiadomo że w tablicy zostanie tylko ostatni wynik i tak też sie dzieje.
Kod: Zaznacz cały
$query = mysql_query("select * from tabela");
if(mysql_num_rows($query) > 0) {
while($r = mysql_fetch_assoc($query)) {
$data =array($r['a'] =>$r['b']

);

   }
   
   }

Co zrobić aby tablica data przechowała wszystkie dane.

PostNapisane: 2012-06-08, 12:36:06
przez junior
dla bezpieczeństwa przed pętlą:
Kod: Zaznacz cały
$data=array();

a potem:
Kod: Zaznacz cały
$data[] =array($r['a'] =>$r['b']);

PostNapisane: 2012-06-08, 13:00:38
przez Undertaker DeadMan
Rozumiem, że ma to wyglądać tak:
Kod: Zaznacz cały
$data=array();         
$query = mysql_query("select * from tabela");
if(mysql_num_rows($query) > 0) {

while($r = mysql_fetch_assoc($query)) {
$data[] =array($r['a'] =>$r['b']);


   }
   
   }

No i sie wysypuje z błędem
Kod: Zaznacz cały
A PHP Error was encountered

Severity: Notice

Message: Array to string conversion


Może łatwiej bedzie tak:
Mam tablice:
Kod: Zaznacz cały
$data = array(
               x1  => y1,
               x2  => y2,
               x3 => y3,
itp...
             );

i chce aby zamiast x i y zstały pobierane dane z bazy.

PostNapisane: 2012-06-09, 00:29:19
przez junior
Kod: Zaznacz cały
$data[$r['a']] =$r['b'];

zobacz tak bo tamto to trochę bez sensu napisałem
bo to było tablica w tablicy zapędziłem się:P i przy wypisywaniu Ci błąd pewnie rzucało

PostNapisane: 2012-06-09, 10:29:49
przez Undertaker DeadMan
O to chodziło. :super: Wielkie dzięki Mistrzu :ok: