Avatar billede razmuz Nybegynder
18. oktober 2005 - 16:08 Der er 4 kommentarer og
1 løsning

Fejl i foreach og while

Hej

Jeg har følgende databaseudtræk, som ryger i en array ($menu):
    id      menutitel      parent  sequence
    1     Forsiden     -1     0
    2     Klinikken     1     0

Jeg har bikset en foreach sammen som skulle spytte hver enkelt af disse menupunkter ud. Men den gør det forkert (rettelse: det er nok mig)... Den skrive et antal ud af den første (altså Forsiden)...

Min foreach, som ikke virkede:
foreach ($menu AS $key => $value) {
echo "$menu[id] ."," .$menu[parent] .",'" .$menu[menutitel] ."'\n";
}

Min while, som heller ikke virede:
while ($this = current($menu) && $i < 5) {
$link = "?ID=" .$menu[id];
echo "$menu[id] ."," .$menu[parent] .",'" .$menu[menutitel] ."'\n";
next($menu);
$i++;
}


Kan I hjælpe mig???
Avatar billede coderdk Praktikant
18. oktober 2005 - 16:35 #1
foreach ( $menu as $item )
{
  echo "$item[id], $item[parent], $item[menutitel]<br>\n";
}
Avatar billede razmuz Nybegynder
18. oktober 2005 - 20:19 #2
Det virker ikke... den giver mig
1, 1, 1
1, 1, 1
F, F, F
F, F, F
-, -, -
-, -, -
0, 0, 0
0, 0, 0
Avatar billede nielle Nybegynder
18. oktober 2005 - 21:04 #3
Kan du vise lidt mere kode? F.eks. selve udtrækket fra databasen.
Avatar billede razmuz Nybegynder
18. oktober 2005 - 21:42 #4
Jeg fandt selv ud af det... det blev som følger:

while ($menu = mysql_fetch_array($result)) {
echo 'd.add(' .$menu[id] .',' .$menu[parent] .',\'' .$menu[menutitel] .'\',\'?ID=' .$menu[id] ."');\n";
}
Avatar billede razmuz Nybegynder
18. oktober 2005 - 21:42 #5
Svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester