Avatar billede lopolla123 Nybegynder
12. maj 2005 - 01:34 Der er 1 løsning

Rekursiv funktion

Jeg er ved at lave en base, hvor jeg dynamisk kan lave træmenuer ved, at ID-numrene referer til hinanden.
Dvs.
menupunkt-1 har ID:1, og referer til 0 (dvs. ingenting)
menupunkt-2 har ID:2, og referer til 1 (dvs. første nivau og under ID: 1)
menupunkt-3 har ID:3, og referer til 2 (dvs. andet nivau og under ID: 2)
etc.....

Jeg skal bla kunne finde "vejen tilbage", dvs. jeg spørger ind i en rekursiv funktion, der svarer tilbage med vejen tilbage, fx.
ID NU: 1 -> 3 -> 7 -> 8

-------------------
Jeg bare ikke få funktionen til ar returnere værdier - hvad er fejlen?
-------------------

FUNKTION:

function find_pos_back($id, $list, $array_help_all)
{
    $p=0;
    reset($array_help_all);
    while($p<count($array_help_all))
    {
        if($array_help_all[$p][HELPID] == "$id")
        {
            $id_ref = "".$array_help_all[$p][HELPREFID]."";
        }

        $p++;
    }

    if($id_ref != "0")
    {
        $return_status = "FALSE";
        $list_here        = "$list,$id_ref";
        find_pos_back($id_ref,$list_here, $array_help_all);
    }

    else
    {
        $return_status = "TRUE";
    }

    if($return_status == "TRUE")
    {
        echo "$list";
        echo "\n";

        return($list);
    }
}

----------------

Script, der kalder

$array_help_all[0][HELPID]        = "1";
$array_help_all[0][HELPREFID]    = "0";
$array_help_all[1][HELPID]        = "2";
$array_help_all[1][HELPREFID]    = "1";
$array_help_all[2][HELPID]        = "3";
$array_help_all[2][HELPREFID]    = "2";
$array_help_all[3][HELPID]        = "4";
$array_help_all[3][HELPREFID]    = "2";
$array_help_all[4][HELPID]        = "5";
$array_help_all[4][HELPREFID]    = "1";
$array_help_all[5][HELPID]        = "6";
$array_help_all[5][HELPREFID]    = "0";

$p=0;
reset($array_help_all);
while($p<count($array_help_all))
{
    $id            = "".$array_help_all[$p][HELPID]."";
    $list        = "".$array_help_all[$p][HELPID]."";
    $pos        = find_pos_back($id,$list, $array_help_all);

    $p++;
}
Avatar billede lopolla123 Nybegynder
12. maj 2005 - 12:05 #1
Jeg lukker - spørgsmål lagt forkert sted.
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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