13. september 2000 - 17:36Der er
8 kommentarer og 1 løsning
Flere kategorier...
Hej,
Jeg vil gerne lave et system til mySQL+PHP3 hvor der er flere kategorier. Men jeg kan umiddelbart ikke regne ud hvad der er det mest effektive, derfor kunn jeg godt tænke mig at høre jeres idéer!
Eks. på kategori struktur: Mobil : SMS : Ringetoner
Jeg skal nu vide hvile kategorier der er før Ringetoner og jeg skal vide hvilke under kategorier der findes, eks. Nokia etc...
Okay du har en MySQL database med et table etc... Du kan lave en column, der hedder head_id. Head_id bruger du til at se, hvilken kategori de forskellige ringetoner hører under. F.eks kan du vælge alle kategorierne ved at vælge alt fra databasen, hvor der ikke er noget head_id.
Lav os lige at du opretter \"Mobil\" som en kategori. Det har id = 1 og ikke noget head_id. Når man trykker på Mobil loader du : siden.php?head_id=1. 1 er selvfølgelig noget du henter fra din database. Når du er inde under Mobil kan der jo være de forskellige telefoner....
F.eks har nokia id nummer 12 og for at gå ind under nokia laver du et link hvor du sætter head_id = 12.
Du kan endda nemt lave subcategories. Hvis du laver et table med (mindst) tre fields: ID, Name, Parent. Hvor ID er unikt og \"auto-increment\".
Din tabel vil så komme til at se sådan ud: 1, Mobil, 0 2, SMS, 1 3, Ringetoner, 2 ... og kan f.eks. udvides med: 4, Logoer, 1 5, Nokia, 3 ... osv.
Ud af ovenstående kan vi læse, at \"mobil\" er vores topkategori - inden under den finder vi \"sms\" og \"logoer\" (begge har mobil\'s id som parent). Under \"sms\" finder vi \"ringetoner\" osv. Get it?
Du kan så lave et rekursivt funktionskald, hvor du inde i funktionen laver et opslag i din DB hvor ID = parent...
Hver gang du udskriver et menupunkt, skriver du det pågældende IDnr med: F.eks. <a href=\"showmenu.php3?id=2\">SMS</a> <a href=\"showmenu.php3?id=5\">Nokia</a>
Så vil hvert link af sig selv kalde databasen med det rigtige id.
Din query skal så hedde noget i retning af: \"SELECT id,name FROM categories WHERE id = \".$id;
Det er ikke underkategorierne som er det problemet... det er de kategorier som brugeren har klikket sig igennem...
Eks. hvis jeg kigger på Ringetoner, så skal der øverst på siden stå: Mobil : SMS : Ringetoner
Hvor Mobil og SMS har et link, så brugeren hurtigt og nemt kan klikke sig tilbage...
Her er jeg nødt til at køre en lykke, som jeg ikke kan regne ud hvordan jeg \"bare\" får til at køre! Den kan jo køre 1 gang eller måske 10 gange hvis brugeren har klikket sig hen på 10. level.
og hvad var løsningen så? Du kunne vel i det mindste fortælle os andre det, nu hvor du har ulejliget en hel hær for tilsidst blot at tage pointene selv...
Synes godt om
Ny brugerNybegynder
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.