Gå til innhold

[Løst]Oprette multidimensjonalt array


Anbefalte innlegg

Hei, jeg har et problem med å lage et multidimensjonalt array (hvis dette er korrekt navn på det jeg er ute etter).

 

Anyways, jeg lager et array som henter info fra en mysql-spørring i med while.

 

Jeg har prøvd på:

 

while ($AJAX_FAG = mysql_fetch_assoc($ajax_hent_fagq))
{
$FAG_LISTE[]['navn'] = $AJAX_FAG['fag_navn'];
$FAG_LISTE[]['id'] = $AJAX_FAG['fag_id'];
}

 

Men denne stukturen blir feil. Jeg er ute etter et array som lagres slik:

Array (
[0] => Array 
(
	[navn] => Engelsk
	[id] => 1
)
[1] => Array 
(
	[navn] => Engelsk
	[id] => 1
)
)

 

Åssen må jeg gjøre dette da?

Endret av TheClown
Lenke til kommentar
Videoannonse
Annonse

Du må lagre den i samme indeks. Det du gjør nå er å lagre navn i en og id i den etterfølgende (f.eks 0 og 1). Det du i stedet må gjøre er å hente ut første ledige numeriske indeks og legge begge inn der. I koden din kan det gjøres slik:

$i = 0;
while ($AJAX_FAG = mysql_fetch_assoc($ajax_hent_fagq))
{
$FAG_LISTE[$i]['navn'] = $AJAX_FAG['fag_navn'];
$FAG_LISTE[$i]['id'] = $AJAX_FAG['fag_id'];
$i++;
}

 

alternativt kan det også gjøre slik:

while ($AJAX_FAG = mysql_fetch_assoc($ajax_hent_fagq))
{
$i = count($FAG_LISTE);
$FAG_LISTE[$i]['navn'] = $AJAX_FAG['fag_navn'];
$FAG_LISTE[$i]['id'] = $AJAX_FAG['fag_id'];
}

Den siste vil fungere fordi du henter ut antallet mens første indeks man tar i bruk vil være 0, dvs. hvis antallet er 10 vil 0 til 9 være opptatt og neste man tar i bruk være 10.

 

Red.:

En tredje måte å gjøre det på er

while ($AJAX_FAG = mysql_fetch_assoc($ajax_hent_fagq))
{
$FAG_LISTE[] = array('navn' => $AJAX_FAG['fag_navn'], 'id' => $AJAX_FAG['fag_id']);
}

Endret av Ernie
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...