Ik ben momenteel bezig met een CMS en daarin is het mogelijk om een 3-level menu aan te maken, wijzigen, sorteren,verwijderen etc.
Dit gaat prima, maar nu wil ik de voorkant maken......
De basis staat al en dat is het volgende:
<?php
TABEL menu
+----+-----------+--------------+--------------------------+ -----------------+----------------------------------------------
| id | parentid | sortorder | titel | newwindow | url
+----+-----------+--------------+--------------------------+ -----------------+---------------------------------------------
| 1 | 0 | 0 | Algemeen | 0 | http://cms.nl/test.php?id=21
| 2 | 0 | 0 | Contact | 0 | http://cms.nl/test.php?id=13
| 3 | 1 | 1 | Wie zijn wij? | 0 | http://cms.nl/test.php?id=1
| 4 | 1 | 2 | Wat doen we? | 1 | http://cms.nl/test.php?id=210
| 5 | 4 | 0 | Projects | 0 | http://cms.nl/test.php?id=5
| 6 | 1 | 1 | Brochure | 0 | http://cms.nl/test.php?id=22
+----+-----------+--------------+--------------------------+ ------------------+---------------------------------------------
?>
Kortom, een mooie tabel, maar nu wil ik deze zo simpel mogelijk presenteren aan de gebruikers.
Als parentid 0 is, dan hebben we te maken met een hoofdmenu.
Hoe kan ik met zo min mogelijk queries dit op een volgende manier presenteren?
Ik heb het idee dat het met 1 query kan, maar ik heb nu 3 query's (1 hoofd, 1 sub, 1 subsub) wat ik een beetje te veel van het goede vind.
Stiekem was ik namelijk wel trots op het menu in 1 tabel en de werking in het cms gaat prima, maar daar toon ik dus eerst een rij met hoofdmenuitems en als ik er 1 aanklik worden de subs getoond. Nu wil ik alles tonen en niet per klik een sub of hoofdgegevens.
Dit gaat prima, maar nu wil ik de voorkant maken......
De basis staat al en dat is het volgende:
<?php
TABEL menu
+----+-----------+--------------+--------------------------+ -----------------+----------------------------------------------
| id | parentid | sortorder | titel | newwindow | url
+----+-----------+--------------+--------------------------+ -----------------+---------------------------------------------
| 1 | 0 | 0 | Algemeen | 0 | http://cms.nl/test.php?id=21
| 2 | 0 | 0 | Contact | 0 | http://cms.nl/test.php?id=13
| 3 | 1 | 1 | Wie zijn wij? | 0 | http://cms.nl/test.php?id=1
| 4 | 1 | 2 | Wat doen we? | 1 | http://cms.nl/test.php?id=210
| 5 | 4 | 0 | Projects | 0 | http://cms.nl/test.php?id=5
| 6 | 1 | 1 | Brochure | 0 | http://cms.nl/test.php?id=22
+----+-----------+--------------+--------------------------+ ------------------+---------------------------------------------
?>
Kortom, een mooie tabel, maar nu wil ik deze zo simpel mogelijk presenteren aan de gebruikers.
Als parentid 0 is, dan hebben we te maken met een hoofdmenu.
Hoe kan ik met zo min mogelijk queries dit op een volgende manier presenteren?
Ik heb het idee dat het met 1 query kan, maar ik heb nu 3 query's (1 hoofd, 1 sub, 1 subsub) wat ik een beetje te veel van het goede vind.
Stiekem was ik namelijk wel trots op het menu in 1 tabel en de werking in het cms gaat prima, maar daar toon ik dus eerst een rij met hoofdmenuitems en als ik er 1 aanklik worden de subs getoond. Nu wil ik alles tonen en niet per klik een sub of hoofdgegevens.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| <ul> <li><a href="http://cms.nl/test.php?id=21" >Algemeen</a> <ul> <li><a href="http://cms.nl/test.php?id=1" >Wie zijn wij?</a></li> <li><a href="http://cms.nl/test.php?id=210" rel="external">Wat doen we?</a> <ul> <li><a href="http://cms.nl/test.php?id=5">Projects</a></li> </ul> </li> <li><a href="http://cms.nl/test.php?id=22">Brochure</a></li> </ul> </li> <li><a href="http://cms.nl/test.php?id=13">Contact</a></li> </ul> |
[webhero.nl]