[ dart13 @ 28.09.2004. 00:46 ] @
Na koji nacin prebaciti sadrzaj tabele dobijene upitom u matricu.
Code:

$query = "select id, name
             from table1
             order by name";

$result = mysql_query($query);


dakle u ovom slucaju imam tabelu sa dvije kolone i zelim da sadrzaj prebacim u dvodimenzionalnu matricu.
Da li mi moze neko pomoci sa kodom koji pravi asocijativnu matricu sa poljima id i name i koji je popunjava sa dobijenom tabelom iz upita?



[ Goran Rakić @ 28.09.2004. 09:18 ] @
Code:

$array = mysql_fetch_assoc($query);
var_dump($array);
[ dart13 @ 28.09.2004. 09:36 ] @
Cini ni se da funkcija mysql_fetch_assoc zahtjeva resource result kao argument, pa bi trebalo da pise $array = mysql_fetch_assoc($result); da bi ovo radilo. Medjutim ova f-ja vraca samo jedan slog iz tabele, a ja bih htjeo da stavim kompletnu tabelu u odredisnu matricu.
[ dinke @ 28.09.2004. 20:44 ] @
Code:
$query = "select id, name
             from table1
             order by name";

$result = mysql_query($query);
$i = 1;
while(list($id,$name) = mysql_fetch_row($result))
{
    $matrix[$i]['id'] = $id;
    $matrix[$i]['name'] = $name;
    $i++;
}


A mozeš sličnu stvar da uradiš i sa mysql_fetch_assoc:

Code:
$query = "select id, name
             from table1
             order by name";

$result = mysql_query($query);

while($row = mysql_fetch_assoc($result))
{
    $matrix[] = $row ;
}


Izbor je samo tvoj :)
[ appatique @ 30.09.2004. 21:06 ] @
Ćaos...

Citat:
dinke:
Code:
$query = "select id, name
             from table1
             order by name";

$result = mysql_query($query);
$i = 1;
while(list($id,$name) = mysql_fetch_row($result))
{
$matrix[$i]['id'] = $id;
$matrix[$i]['name'] = $name;
$i++;
}

U ovom slučaju te ne bih savetovao da koristiš 'list()', jer je, u slučaju neke greške, teže debugovati kod (veruj mi!), a i lakše je posle proširiti upit sa dodatnim kolonama.

Sledeće rešenje je čitljivije:
// Ako već koristiš ovu f-ju, navikni se da prosleđuješ konekciju. Desiće se da imaš više konekcija, i šta onda? Koja da se koristi?
$result = mysql_query($query, $connect);
while ($row = mysql_fetch_assoc($result)){
$id = $row['id'];
$name = $row['name'];

// U ovom slučaju, bez indeksa, ide od nule, ne kao u prethodnom slučaju od 1.
// No, bolje je ići od 0 nego od 1 (VB... fuj).
$matrix[] = array('id' => $id, 'name' => $name);
}