dropdown menu
Ik ben bezig met een dropdown menu maar die word aan gestuurd via het database. voorbeeld:
home fotoalbum
nieuws zon zee strand
profiel vakantie 2008
etc. Alleen nu krijg ik telkens dit :
home fotoalbum
nieuws nieuws
profiel profiel
zon zee strand
vakantie 2008
Zou iemand misschien naar me code willen kijken of iemand het ziet wat ik nu fout doe.
Me code :
Code (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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<?php
$menu_sql = mysql_query("
SELECT *
FROM dspifvwm_pagina
WHERE pagina_upper = '0'
ORDER BY pagina_rank ASC
") or die ("Fout hoofdmappen : " . mysql_error());
if($aantal_result = mysql_num_rows($menu_sql) == 0){
$menu_structuur_html = "";
}else{
while($resultaat = mysql_fetch_assoc($menu_sql)) {
//Alles onder hoofdmappen ophalen
$sub_menu_sql = mysql_query("
SELECT *
FROM dspifvwm_pagina
WHERE pagina_upper = '".$resultaat['pagina_id']."'
") or die ("Fout submappen : " . mysql_error());
if($aantal = mysql_num_rows($sub_menu_sql) == 0){
$sub_menu_structuur_html = "";
}else{
$sub_menu_structuur_html .= "<ul>";
while($result = mysql_fetch_assoc($sub_menu_sql)) {
//HTML Thirdmappen
$third_menu_sql = mysql_query("
SELECT *
FROM dspifvwm_pagina
WHERE pagina_upper = '".$result['pagina_id']."'
") or die ("Fout THIRDmappen : " . mysql_error());
if($aantal1 = mysql_num_rows($third_menu_sql) == 0) {
$third_menu_structuur_html = "";
}else{
$third_menu_structuur_html .= "<ul>";
while($record = mysql_fetch_assoc($third_menu_sql)){
$third_menu_structuur_html .= "
<li> <a href=\"" . $record['pagina_url'] . "\">" . $record['pagina_naam'] . "</a></li>
";
};
$third_menu_structuur_html .= "</ul>";
};
//HTML submappen
$sub_menu_structuur_html .= "
<li> <a href=\"" . $result['pagina_url'] . "\">" . $result['pagina_naam'] . "</a>
$third_menu_structuur_html
</li>
";
};
$sub_menu_structuur_html .= "</ul>";
};
//HTML hoofdmappen
$menu_structuur_html .= "
<li> <a href=\"" . $resultaat['pagina_url'] . "\">" . $resultaat['pagina_naam'] . "</a>
$sub_menu_structuur_html
</li>
";
};
};
$plug_menu_array = file_get_contents ("./plugs/plug_menu/plug_site/templates/menu_overzicht.html");
$plug_menu_array = str_replace("{-plug_menu-}", $menu_structuur_html, $plug_menu_array);
echo $plug_menu_array ;
?>
$menu_sql = mysql_query("
SELECT *
FROM dspifvwm_pagina
WHERE pagina_upper = '0'
ORDER BY pagina_rank ASC
") or die ("Fout hoofdmappen : " . mysql_error());
if($aantal_result = mysql_num_rows($menu_sql) == 0){
$menu_structuur_html = "";
}else{
while($resultaat = mysql_fetch_assoc($menu_sql)) {
//Alles onder hoofdmappen ophalen
$sub_menu_sql = mysql_query("
SELECT *
FROM dspifvwm_pagina
WHERE pagina_upper = '".$resultaat['pagina_id']."'
") or die ("Fout submappen : " . mysql_error());
if($aantal = mysql_num_rows($sub_menu_sql) == 0){
$sub_menu_structuur_html = "";
}else{
$sub_menu_structuur_html .= "<ul>";
while($result = mysql_fetch_assoc($sub_menu_sql)) {
//HTML Thirdmappen
$third_menu_sql = mysql_query("
SELECT *
FROM dspifvwm_pagina
WHERE pagina_upper = '".$result['pagina_id']."'
") or die ("Fout THIRDmappen : " . mysql_error());
if($aantal1 = mysql_num_rows($third_menu_sql) == 0) {
$third_menu_structuur_html = "";
}else{
$third_menu_structuur_html .= "<ul>";
while($record = mysql_fetch_assoc($third_menu_sql)){
$third_menu_structuur_html .= "
<li> <a href=\"" . $record['pagina_url'] . "\">" . $record['pagina_naam'] . "</a></li>
";
};
$third_menu_structuur_html .= "</ul>";
};
//HTML submappen
$sub_menu_structuur_html .= "
<li> <a href=\"" . $result['pagina_url'] . "\">" . $result['pagina_naam'] . "</a>
$third_menu_structuur_html
</li>
";
};
$sub_menu_structuur_html .= "</ul>";
};
//HTML hoofdmappen
$menu_structuur_html .= "
<li> <a href=\"" . $resultaat['pagina_url'] . "\">" . $resultaat['pagina_naam'] . "</a>
$sub_menu_structuur_html
</li>
";
};
};
$plug_menu_array = file_get_contents ("./plugs/plug_menu/plug_site/templates/menu_overzicht.html");
$plug_menu_array = str_replace("{-plug_menu-}", $menu_structuur_html, $plug_menu_array);
echo $plug_menu_array ;
?>
Alvast bedankt
Gewijzigd op 01/01/1970 01:00:00 door Yoram
Code (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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?php
function NestedMenu($parent = 0) {
// maak een array om alle opties in op te slaan
$aNestedMenu = array();
// haal alle menu items op waar de parent 0 is
// haal ook meteen op of er childs zijn via een subquery
$sQuery = "SELECT a.*, (SELECT COUNT(*) FROM menu AS b WHERE b.parent = a.id) AS childs FROM menu AS a WHERE a.parent = ".(int)$parent;
$sResult = mysql_query($sQuery);
// ga alles na
if($sResult) {
// er zijn menurecords
if(mysql_num_rows($sResult) > 0) {
// loop ieder menu record na
while($sRij = mysql_fetch_assoc($sResult)) {
// en kijk of deze kinderen heeft of niet
if($sRij['childs'] > 0) {
// zo ja ga met deze parent nog een keer de functie langs om alle kinderen hiervan op te halen.
$aNestedMenu[]['id'] = $sRij['id'];
$aNestedMenu[]['childs'] = NestedMenu($sRij['id']);
} else {
// zo nee sla alleen het id op en doe verder niets
$aNestedMenu[]['id'] = $sRij['id'];
}
}
// return de array
return $aNestedMenu;
} else {
return 'Geen menurecords gevonden.';
}
} else {
return mysql_error().' in query: '.$sQuery;
}
}
function handleNestedMenu($aMenu, $level = 0) {
$output = '';
foreach($aMenu as $aOpties) {
if(isset($aOpties['childs'])) {
$output .= handleNestedMenu($aOpties['childs'], ($level+1));
} else {
$niveau = $level*4;
for($i=0;$i<=$niveau;$i++) {
$output .= ' ';
}
$output .= '- <a href="?id='.$aOpties['id'].'">'.$aOpties['id'].'</a>'.PHP_EOL;
}
}
return $output;
}
$aNestedMenu = NestedMenu();
$aHandledMenu = handleNestedMenu($aNestedMenu);
echo $aHandledMenu;
?>
function NestedMenu($parent = 0) {
// maak een array om alle opties in op te slaan
$aNestedMenu = array();
// haal alle menu items op waar de parent 0 is
// haal ook meteen op of er childs zijn via een subquery
$sQuery = "SELECT a.*, (SELECT COUNT(*) FROM menu AS b WHERE b.parent = a.id) AS childs FROM menu AS a WHERE a.parent = ".(int)$parent;
$sResult = mysql_query($sQuery);
// ga alles na
if($sResult) {
// er zijn menurecords
if(mysql_num_rows($sResult) > 0) {
// loop ieder menu record na
while($sRij = mysql_fetch_assoc($sResult)) {
// en kijk of deze kinderen heeft of niet
if($sRij['childs'] > 0) {
// zo ja ga met deze parent nog een keer de functie langs om alle kinderen hiervan op te halen.
$aNestedMenu[]['id'] = $sRij['id'];
$aNestedMenu[]['childs'] = NestedMenu($sRij['id']);
} else {
// zo nee sla alleen het id op en doe verder niets
$aNestedMenu[]['id'] = $sRij['id'];
}
}
// return de array
return $aNestedMenu;
} else {
return 'Geen menurecords gevonden.';
}
} else {
return mysql_error().' in query: '.$sQuery;
}
}
function handleNestedMenu($aMenu, $level = 0) {
$output = '';
foreach($aMenu as $aOpties) {
if(isset($aOpties['childs'])) {
$output .= handleNestedMenu($aOpties['childs'], ($level+1));
} else {
$niveau = $level*4;
for($i=0;$i<=$niveau;$i++) {
$output .= ' ';
}
$output .= '- <a href="?id='.$aOpties['id'].'">'.$aOpties['id'].'</a>'.PHP_EOL;
}
}
return $output;
}
$aNestedMenu = NestedMenu();
$aHandledMenu = handleNestedMenu($aNestedMenu);
echo $aHandledMenu;
?>
Kun je vast wel wat mee. Let wel: begrijp dit script en ga het niet zomaar gebruiken! Dat is niet mijn bedoeling.