Avatar billede keet Nybegynder
29. oktober 2003 - 20:28 Der er 6 kommentarer og
1 løsning

lav-sti function recursion

jeg skal lave en sti-linie udfra en DB, med en tabel med et id, gruppe_id og navn.
Jeg har følgende kode men kan ikke rigtigt få det til at virke:
function getpath($id)
{
static $arr_path = array(0);
while ( $id != 0 ) {
  array_push( $arr_path, $id );
  $row = mysql_fetch_array(mysql_query("SELECT gruppe_id FROM tbl_vinduestyper WHERE id=$id"));       
  $this->path($row["id"]);
}

return $arr_path;
}
Avatar billede keet Nybegynder
29. oktober 2003 - 20:29 #1
0 er id'et for roden
Avatar billede keet Nybegynder
29. oktober 2003 - 20:36 #2
path($row["id"]) skal vist skiftes ud med path($row["gruppe_id"]) for ellers bliver id aldrig 0
Avatar billede keet Nybegynder
29. oktober 2003 - 20:46 #3
her er det den kommer med, måske kan nogen se hvad der går galt.

Array ( [0] => 0 [1] => 208 [2] => 207 [3] => 206 ) Array ( [0] => 0 [1] => 208 [2] => 207 [3] => 206 [4] => 206 ) Array ( [0] => 0 [1] => 208 [2] => 207 [3] => 206 [4] => 206 [5] => 206 )
Avatar billede keet Nybegynder
29. oktober 2003 - 20:47 #4
Den putter de rigtige id'er i arrayet men der kan ikke stoppe igen. Sidste id bliver puttet i igen og igen
Avatar billede keet Nybegynder
29. oktober 2003 - 20:49 #5
jeg har lavet WHILE om til IF. Nu kommer array(....) kun 3 gange.
Avatar billede keet Nybegynder
29. oktober 2003 - 20:50 #6
har fundet løsning :)
Avatar billede keet Nybegynder
29. oktober 2003 - 20:51 #7
Det var bare fordi den returnerer flere gange :)
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