Ik ben bezig aan een website en er moet ook een soort van linkspagina op komen.
Gewoon een simpel paginaatje dat even de database leest en gewoon alle links uitspuwt vind ik natuurlijk veel te simpel
. Ik wil dus een treestructuur maken en die dan uitlezen vanuit mijn database met asp en weergeven op de pagina.
Database ziet er ongeveer zo uit:
Link_ID autonumber (uniek)
Parent id van parent
URL
Naam
...
Mijn code zou een lege url moeten aanzien als een categorie, dat even terzijde.
Een link kan dus bij een categorie horen of bij een andere link en die dan weer bij een andere categorie enzovoort.
Oneindig veel niveau's mogelijk...
De site opzich zal geen duizenden niveau's nodig hebben maar ik wil dit gewoon even maken zodat ik het later nog kan gebruiken
Ik zag het allemaal al mooi voor mij: mijn asp leest even de database uit, print de nodes met parent 0 gaat dan naar niveau 2, niveau 3...
Na even rekenen had ik door dat het aantal queries exponentieel begint toe te nemen per niveau, wat de snelheid van mijn site en server zeker niet opdrijft
Ik wil ertoe komen dat de pagina de hele tree ineens weergeeft (omdat die meestal toch maar een 3-tal niveau's diep is).
Hoe begin ik hier nu aan? Ik heb al enkele tree-applicaties bekeken en die laden allemaal pas een node als je erop klikt (en ik wil mijn pagina niet herladen).
Hebben jullie een hint of een stuke pseudocode om met zo weinig queries mijn hele tree weer te geven.
Ik wou het zo doen maar dan crasht mijn server gegarandeerd
:
Selecteer met parent 0
While not EOF
write node
select met parent deze node
while ...
...
...
...
hopeloosdus op deze manier
Gewoon een simpel paginaatje dat even de database leest en gewoon alle links uitspuwt vind ik natuurlijk veel te simpel
Database ziet er ongeveer zo uit:
Link_ID autonumber (uniek)
Parent id van parent
URL
Naam
...
Mijn code zou een lege url moeten aanzien als een categorie, dat even terzijde.
Een link kan dus bij een categorie horen of bij een andere link en die dan weer bij een andere categorie enzovoort.
Oneindig veel niveau's mogelijk...
De site opzich zal geen duizenden niveau's nodig hebben maar ik wil dit gewoon even maken zodat ik het later nog kan gebruiken
Ik zag het allemaal al mooi voor mij: mijn asp leest even de database uit, print de nodes met parent 0 gaat dan naar niveau 2, niveau 3...
Na even rekenen had ik door dat het aantal queries exponentieel begint toe te nemen per niveau, wat de snelheid van mijn site en server zeker niet opdrijft
Ik wil ertoe komen dat de pagina de hele tree ineens weergeeft (omdat die meestal toch maar een 3-tal niveau's diep is).
Hoe begin ik hier nu aan? Ik heb al enkele tree-applicaties bekeken en die laden allemaal pas een node als je erop klikt (en ik wil mijn pagina niet herladen).
Hebben jullie een hint of een stuke pseudocode om met zo weinig queries mijn hele tree weer te geven.
Ik wou het zo doen maar dan crasht mijn server gegarandeerd
Selecteer met parent 0
While not EOF
write node
select met parent deze node
while ...
...
...
...
hopeloosdus op deze manier