24. marts 2003 - 21:02Der er
4 kommentarer og 1 løsning
Navigation i kategorier (med én tabel i mysql)
Hey allesammen !
Går lige til sagen:
Jeg har tabellen 'kategori' (mysql), som jeg ønsker at kunne lave en eller anden form for navigation ud fra alá: "Her er du: Foride -> Programmering -> Java"
Alle hovedkategorier har så værdien '0' i 'parent_id' og 'group_id' tænkte jeg så på at bruge til at se hvilken hovedkategori den pågældende kategori så nedstammer fra.... og så var det at jeg gik død ;o)
Har i nogle ideer til hvordan jeg løser mit lille problem ? (Er jeg fuldstændig på afveje, oder was ?!##??)
Tjoo, men det ser nok mega syret ud, da jeg ikke har været så flittig med kommentarerne :D
So, here goes! ++++++++++++++++++++ filname - buildmenu.php
<? /* * $_CONFIG er et array som indeholder alle mulige * configurationer til hele siden, f.eks. farver * tekst størrelser osv. den er global for hele siden! * * Dessuden bruger jeg min egen database klasse, hvor * objektet ligeledes er global for hele siden, da den * indsamler statestik SQL forspørgelser! */ function buildMenu( $DIRS ) {
returntype er så et multideminsionalt array som kunne se ud som flg.: Array ( [0] => Array ( [0] => 1 [ID] => 1 [1] => Info [name] => Info [2] => [parent_dir] => )
Jeg ved det virker fantastisk uversueligt og, men jeg har en masse standard klasser og funktioner jeg har lavet i årenes løb, som jeg sidder og hiver på, hver gang jeg laver noget!
Jeg havde faktisk tænkt mig at lave den menu funktion offentlig, men jeg har ikke haft sindsyg meget tid på det seneste, så den har været lidt på stand by!
Jeg kan se at jeg ikke har fået lavet den funktion til at lave en navigation menu endnu, men det er vel bare at tage den side man er på (smid i array), finde id til dens parent_id (smid i array) rekursivt indtil parent_id er NULL. Flippe arrayet og gennmløb alle dets elementer!
Jeg håber sgu du kan finde hoved og hale i det! (Skulle måske lige nævne hvordan man sætter det hele i gang :-)
<? // Get 'Basis Dirs' (parent_dir = NULL) $basis_dirs = $dbObj->get("SELECT ID, name, parent_dir FROM category WHERE parent_dir IS NULL ORDER BY ID"); // Call function to build menu! buildMenu($basis_dirs) ?>
Takker mange gange (og ydmygt) for din hjælp, tefcke - det var lige hvad jeg havde brug for ;o) (Går dog først i krig med det engang imorgen)!
Smider du lige et svar, så vi kan lukke spørgsmålet...
Ps. Du skal da forresten være mere end velkommen til at poste din navigations-metode, når du engang får den bisket færdig - om ikke andet så bare så jeg kan sammenligne med min egen rekursive lille tingest.
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.