Avatar billede Slettet bruger
08. januar 2002 - 01:03 Der er 11 kommentarer og
1 løsning

Hjælp til link funktion

Jeg har fikset en lille funktion sammen der løber en række kategorier igennem og skriver strukturen ud.

Koden ser således ud:

function hent_kategorier ($id) {
$sql = \"SELECT * FROM links_kat WHERE id = $id\";
$result = mysql_query ($sql);
if (mysql_num_rows($result) > 0) {
$row = mysql_fetch_array($result);
echo \"&nbsp;>&nbsp;<a href=\\\"?valg=Kategorier&kategori=$row[id]\\\">$row[navn]</a>\";
hent_kategorier ($row[ejer_id]);
}

Og den skulle skrive noget ud som

Kategori2 > Underkat2 til kat2 > Underunderkat1 til underkat2

men skriver istedet

Top > Underunderkat1 til underkat2 > Underkat2 til kat2 > Kategori2

ud.

Det er jo fordi jeg tager dem bagfra, min ide var så at gemme det som et array, dele ved > og printe arrayet ud bagfra...men hvorn faen..?
Avatar billede Slettet bruger
08. januar 2002 - 09:38 #1
Der må da være nogen der er friske, klokken er jo snart 10 om morgenen! :)

Jeg ser lige Fightclub imens så...
Avatar billede invisibleman Nybegynder
08. januar 2002 - 10:55 #2
ren slamkode, men jeg ser på det ;o)
Avatar billede invisibleman Nybegynder
08. januar 2002 - 10:56 #3
Mangler der enten bare en } eller er det kun en del af funktionen det her ?
Avatar billede Slettet bruger
08. januar 2002 - 10:57 #4
der mangler en } (ups)
Avatar billede invisibleman Nybegynder
08. januar 2002 - 11:04 #5
Er ikke testet in any way .. (syntax er dog korrekt, ingen fejl)

<?php
    $menuitem = array();

    function hent_kategorier ($id) {
        global $menuitem;

        $result = mysql_query (\"SELECT id,navn FROM links_kat WHERE id=$id\");
        if (mysql_num_rows($result)) {
            $row = mysql_fetch_array($result);
            $menuitem[] = \"<a href=\\\"?valg=kategorier&kategori=$row[id]\\\">$row[navn]</a>\";

            hent_kategorier ($row[ejer_id]);
        } else {
            echo \"&nbsp;>&nbsp;\" . explode(array_reverse($menuitem), \"&nbsp;>&nbsp;\");
            $menuitem = array();
        }
    }
?>
Avatar billede invisibleman Nybegynder
08. januar 2002 - 11:05 #6
*fy* jeg mangler ejer_id

<?php
    $menuitem = array();

    function hent_kategorier ($id) {
        global $menuitem;

        $result = mysql_query (\"SELECT id,navn,ejer_id FROM links_kat WHERE id=$id\");
        if (mysql_num_rows($result)) {
            $row = mysql_fetch_array($result);
            $menuitem[] = \"<a href=\\\"?valg=kategorier&kategori=$row[id]\\\">$row[navn]</a>\";

            hent_kategorier ($row[ejer_id]);
        } else {
            echo \"&nbsp;>&nbsp;\" . explode(array_reverse($menuitem), \"&nbsp;>&nbsp;\");
            $menuitem = array();
        }
    }
?>
Avatar billede invisibleman Nybegynder
08. januar 2002 - 11:05 #7
Og hvis jeg må ha\' lov til at optimere lidt, og skrive det som jeg ville ha\' gjort ;o)

<?php
    $menuitem = array();

    function hent_kategorier ($id) {
        global $menuitem;

        $rs = mysql_query (\"SELECT id,navn,ejer_id FROM links_kat WHERE id=$id\");
        if (mysql_num_rows($rs)) {
            $row = mysql_fetch_row($rs);
            $menuitem[] = \"<a href=\\\"?valg=kategorier&kategori=$row[0]\\\">$row[1]</a>\";

            hent_kategorier ($row[2]);
        } else {
            echo \"&nbsp;>&nbsp;\" . explode(array_reverse($menuitem), \"&nbsp;>&nbsp;\");
            $menuitem = array();
        }
    }
?>
Avatar billede Slettet bruger
08. januar 2002 - 11:10 #8
Den udskriver bare Array...underligt.. se selv på http://www.divxit.dk/links.php?valg=Kategorier og prøv at klikke dig \"nedad\" i niveauerne.
Avatar billede invisibleman Nybegynder
08. januar 2002 - 11:13 #9
Det er fordi jeg er *lidt* af en tosse ;o)

<?php
    $menuitem = array();

    function hent_kategorier ($id) {
        global $menuitem;

        $rs = mysql_query (\"SELECT id,navn,ejer_id FROM links_kat WHERE id=$id\");
        if (mysql_num_rows($rs)) {
            $row = mysql_fetch_row($rs);
            $menuitem[] = \"<a href=\\\"?valg=kategorier&kategori=$row[0]\\\">$row[1]</a>\";

            hent_kategorier ($row[2]);
        } else {
            echo \"&nbsp;>&nbsp;\" . implode(\"&nbsp;>&nbsp;\", array_reverse($menuitem));
            $menuitem = array();
        }
    }
?>
Avatar billede invisibleman Nybegynder
08. januar 2002 - 11:13 #10
Byttede explode() om med implode() og byttede rundt på \"&nbsp;>&nbsp;\" og array_rev...
Avatar billede Slettet bruger
08. januar 2002 - 11:16 #11
Det var bedre :) Og så var der lige en med kategorier med stort og lille startbogstav. Men det kom til at virke, og det var da også noget i den stil jeg havde tænkt på, men ikke kunne regne ud..
Avatar billede invisibleman Nybegynder
08. januar 2002 - 11:18 #12
*sorry* (K og k) ;-) Det er en dårlig vane :-(

hæ hæ .. virkede det rent faktisk ?? Dammit I\'m goood *LOL*
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