Ik ben een website aan het ontwikkelen en heb hierin een DHTML menu gemaakt. Dit menu heb ik gemaakt aan de hand van deze tekst.
Nou heb ik alle menu items in een tabel in de database staan, zodat het te beheren is met het CMS etc. Hier komt ook mijn probleem, De opbouw van het menu gaat niet goed.
De volgende functie gebruik ik om het menu op te bouwen:
Een category heeft een id, een title en een childOf. Als de childOf 0 is is het een hoofditem, is het een getalletje dan is het een subitem van het hoofditem met dat id. Duidelijk?
In mijn pagina roep ik de functie aan:
In de CSS is het menu gedefinieerd etc, dat zit op zich wel goed.
Alleen de output van de functie is een zootje:
en ik weet even niet hoe ik het anders moet opbouwen.
Het zou zo moeten maar ik krijg dat niet voor elkaar.
Nou heb ik het idee dat ik iets over het hoofd zie of totaal de plank mis sla maar ik zie het gewoonweg niet. Iemand van jullie misschien?
Nou zet ik het probleem er niet eens bij. Het menu werkt alleen in Firefox en daar komt bij ieder item een soort subitem met alleen een top border (als er geen subitem is).
Nou heb ik alle menu items in een tabel in de database staan, zodat het te beheren is met het CMS etc. Hier komt ook mijn probleem, De opbouw van het menu gaat niet goed.
De volgende functie gebruik ik om het menu op te bouwen:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| function buildMenu($var, $database) { $selection = $database->handleQuery("SELECT * FROM category WHERE cat_childOf = '". $var . "' ORDER BY cat_title;"); echo "<ul>"; while($results = mysql_fetch_object($selection)){ $temp = $results->cat_childOf; echo "<li>"; echo "<a href=\"?category=$results->cat_id\">$results->cat_title</a>\n"; if($temp != '0') { echo "</li>"; } buildMenu($results->cat_id, $database); } echo "</li></ul>"; } |
Een category heeft een id, een title en een childOf. Als de childOf 0 is is het een hoofditem, is het een getalletje dan is het een subitem van het hoofditem met dat id. Duidelijk?
In mijn pagina roep ik de functie aan:
PHP:
1
2
3
4
5
| <ul class="menu"> <?PHP buildMenu("0", $database); ?> </ul> |
In de CSS is het menu gedefinieerd etc, dat zit op zich wel goed.
Alleen de output van de functie is een zootje:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| <ul class="menu"> <ul><li><a href="?category=1">Advertenties</a> <ul><li><a href="?category=18">Koop en verkoop</a> </li><ul></li></ul><li><a href="?category=19">Oproepen</a> </li><ul></li></ul><li><a href="?category=20">Vacatures</a> </li><ul></li></ul></li></ul><li><a href="?category=2">Agenda</a> <ul></li></ul><li><a href="?category=3">Attracties</a> <ul><li><a href="?category=21">Doolhof</a> </li><ul></li></ul><li><a href="?category=16">Vlooienmarkt</a> </li><ul></li></ul></li></ul><li><a href="?category=4">Bedrijven</a> <ul></li></ul><li><a href="?category=5">Evenementen</a> <ul><li><a href="?category=23">Avondvierdaagse</a> </li><ul></li></ul><li><a href="?category=22">Ballonvaarten</a> </li><ul></li></ul></li></ul><li><a href="?category=6">Gebeurtenissen</a> <ul></li></ul><li><a href="?category=7">Historie</a> <ul></li></ul><li><a href="?category=8">Links</a> <ul></li></ul><li><a href="?category=9">Sport</a> <ul></li></ul><li><a href="?category=11">Vakantie</a> <ul></li></ul><li><a href="?category=10">Verenigingen</a> <ul><li><a href="?category=24">Biljart</a> </li><ul></li></ul></li></ul></li></ul> </ul> |
en ik weet even niet hoe ik het anders moet opbouwen.
Het zou zo moeten maar ik krijg dat niet voor elkaar.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| <ul> <li><a href="#">Home</a></li> <li><a href="#">About</a> <ul> <li><a href="#">History</a></li> <li><a href="#">Team</a></li> <li><a href="#">Offices</a></li> </ul> </li> <li><a href="#">Services</a> <ul> <li><a href="#">Web Design</a></li> <li><a href="#">Internet Marketing</a></li> <li><a href="#">Hosting</a></li> <li><a href="#">Domain Names</a></li> <li><a href="#">Broadband</a></li> </ul> </li> <li><a href="#">Contact Us</a> <ul> <li><a href="#">United Kingdom</a></li> <li><a href="#">France</a></li> <li><a href="#">USA</a></li> <li><a href="#">Australia</a></li> </ul> </li> </ul> |
Nou heb ik het idee dat ik iets over het hoofd zie of totaal de plank mis sla maar ik zie het gewoonweg niet. Iemand van jullie misschien?
Nou zet ik het probleem er niet eens bij. Het menu werkt alleen in Firefox en daar komt bij ieder item een soort subitem met alleen een top border (als er geen subitem is).
[ Voor 33% gewijzigd door Beekforel op 14-08-2005 19:00 ]