Archief - ASP: syntax oneindig aantal submenu's

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Ramm

Legacy Member
Kleine schets van het probleem:

Ik heb een database met daarin alle waarden voor mijn menu's. Vb:
menu_id | menu_parent_id | menu_name
---------------------------------------
1 | 0 | test 1
2 | 1 | test 1.1
3 | 1 | test 1.2
4 | 1 | test 1.3
5 | 0 | test 2

parent_id geeft aan welk menu-item erboven staat. 0 = hoofdcategorie. Dit zal hij dus als volgt moeten weergeven:

- test 1
___- test 1.1
___- test 1.2
___- test 1.3
- test 2

Dit is gemakkelijk te realiseren door te werken met 2 recordsets. Moeilijker wordt het echter als er een oneindig aantal submenu's moet komen in de trent van:

- test 1
___- test 1.1
______- test 1.1.1
_________- test 1.1.1.1

Ik kan namelijk onmogelijk op voorhand bepalen hoeveel recordsets ik nodig zal hebben, en als ik werk met een filter op 1 recordset, dan kan ik onmogelijk weer weten waar ik de vorige keer gestopt was, aangezien je door te filteren opnieuw aan het begin van uw recordset geplaatst wordt.

rsRecordset.filter = "x = y" ==> rsRecordset.bof = true

Heeft iemand hier ervaring mee hoe ik dit het best zou aanpakken?

dJeez

Legacy Member
Errr... Je hebt steeds maar 1 recordset nodig, je sorteert op parent id en - indien van toepassing - de volgorde daarbinnen. Dan kan je simpelweg elk record aflopen, stuk per stuk creëren en indien er child records zijn die ook gaan toevoegen onder de reeds gecreëerde ouders.

Ramm

Legacy Member
maar als je gewoon sorteert op parent_id dan krijg je toch:

1
2
3
1.1
1.2
1.3
...

die 1.1 etc... moeten tussen 1 & 2 zitten

dJeez

Legacy Member
Ramm zei:
die 1.1 etc... moeten tussen 1 & 2 zitten
En waarom zou dat dan wel per sé moeten? Het hangt er totaal vanaf hoe je de resultaten verwerkt. En aangezien je daar niks over zegt geef ik gewoon een mogelijke oplossing.

Ramm

Legacy Member
Wel, dit is de uitwerking:

http://a-shop.rammdev.com/ashop/demo/?mod=cat&cat_id=1

Nu doe ik dit met 2 recordsets, waardoor ik dus gebonden blijf aan 2 niveaus: 1 parent + 1 sub. De bedoeling is dat je oneindig kan doorklikken bij de submenus. Dus bijv. standaard zie je staan:

> test 1
> test 2
> test 3

Dan klik je bijv. op categorie "test 2"

> test 1
> test 2
__> test 2.1
__> test 2.2
> test 3

Daarna selecteer je bijv. "test 2.1"

> test 1
> test 2
__> test 2.1
____> test 2.1.1
____> test 2.1.2
____> test 2.1.3
__> test 2.2
> test 3

etc...

Veel meer kan ik daar niet aan uitleggen denk ik, maar ik heb er mij al dood op gezocht, en ik vind de oplossing niet
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan