Categoriedieptes , dit moet eenvoudiger kunnen
Ik heb een menu met categorieën die uit een mySQL DB worden gehaald. Ik heb dit nu echter 'noobish' opgelost omdat ik maar geen functie kan bedenken die dit makkelijker maakt.
De code heb ik even op codedump gezet => http://www.codedump.be/code/948/
Iemand die mij verder kan helpen want wanneer dit nog dieper gaat dan wordt ik gek =]
Alvast bedankt voor het meedenken!
post relevante code gewoon hier op de site!!
Maak je gelijk ook veel meer kans geholpen te worden
en plaats de code dan tussen de {code}hier je code{/code} maar dan met blokhaken []
Grof taalgebruik is niet toegestaan op PHPhulp[/modedit]
Gewijzigd op 24/09/2010 10:41:48 door Bas IJzelendoorn
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
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
<ul>
<li class="l1">Categorie</li>
<?php
$query = "SELECT * FROM shop_categorie WHERE sub = '0'";
$result = mysql_query($query)
or die ("Query failed: " . mysql_error() . " Actual query: " . $query);
if(mysql_num_rows($result) > 0){
while($menu = mysql_fetch_object($result)){
?>
<ul>
<li class="l2"><a href="?page=products&cat=<?=$menu->catID?>"><?=$menu->naam?></a></li>
<?php
$query2 = "SELECT * FROM shop_categorie WHERE sub = '".$menu->catID."'";
$result2 = mysql_query($query2)
or die ("Query failed: " . mysql_error() . " Actual query: " . $query2);
if(mysql_num_rows($result2) > 0){?>
<li>
<ul class="l3">
<?php
while($menu_sub1 = mysql_fetch_object($result2)){
?>
<li><a href="?page=products&cat=<?=$menu_sub1->catID?>"><?=$menu_sub1->naam?></a>
<?php
$query3 = "SELECT * FROM shop_categorie WHERE sub = '".$menu_sub1->catID."'";
$result3 = mysql_query($query3)
or die ("Query failed: " . mysql_error() . " Actual query: " . $query3);
if(mysql_num_rows($result3) > 0){?>
<ul class="l4">
<?php
while($menu_sub2 = mysql_fetch_object($result3)){
?>
<li><a href="?page=products&cat=<?=$menu_sub2->catID?>"><?=$menu_sub2->naam?></a></li>
<?php
}
?>
</ul>
<?php
}
?>
</li>
<?php
}
?>
</ul>
</li>
<?php
}
?>
</ul>
<?php
}
}
?>
</ul>
<li class="l1">Categorie</li>
<?php
$query = "SELECT * FROM shop_categorie WHERE sub = '0'";
$result = mysql_query($query)
or die ("Query failed: " . mysql_error() . " Actual query: " . $query);
if(mysql_num_rows($result) > 0){
while($menu = mysql_fetch_object($result)){
?>
<ul>
<li class="l2"><a href="?page=products&cat=<?=$menu->catID?>"><?=$menu->naam?></a></li>
<?php
$query2 = "SELECT * FROM shop_categorie WHERE sub = '".$menu->catID."'";
$result2 = mysql_query($query2)
or die ("Query failed: " . mysql_error() . " Actual query: " . $query2);
if(mysql_num_rows($result2) > 0){?>
<li>
<ul class="l3">
<?php
while($menu_sub1 = mysql_fetch_object($result2)){
?>
<li><a href="?page=products&cat=<?=$menu_sub1->catID?>"><?=$menu_sub1->naam?></a>
<?php
$query3 = "SELECT * FROM shop_categorie WHERE sub = '".$menu_sub1->catID."'";
$result3 = mysql_query($query3)
or die ("Query failed: " . mysql_error() . " Actual query: " . $query3);
if(mysql_num_rows($result3) > 0){?>
<ul class="l4">
<?php
while($menu_sub2 = mysql_fetch_object($result3)){
?>
<li><a href="?page=products&cat=<?=$menu_sub2->catID?>"><?=$menu_sub2->naam?></a></li>
<?php
}
?>
</ul>
<?php
}
?>
</li>
<?php
}
?>
</ul>
</li>
<?php
}
?>
</ul>
<?php
}
}
?>
</ul>
hierarchical-data
En gooit de php shortcuts ook maar uit je code gebruik altijd en overal de gewone php-tags!
en doodgaan doe je maar 1 keer, dus pas fatsoenlijke foutafhandeling toe
----------------
phphulp's bbcode
Gewijzigd op 23/09/2010 20:46:27 door Noppes Homeland
Waarom assoc i.p.v. object?
Normaal selecteer wat ik wil hebben echter moet ik alles in die tabel hebben op dat moment =] (id, naam, sub)
@Noppes Homeland, Zal mij dat eens op mijn gemak gaan lezen. Danke!
PHP shortcuts,,, tja je hebt een punt =]
Al vaker opmerkingen gehad over de foutafhandeling, wordt binnenkort vervangen door een andere functie =]
Noppes Homeland op 23/09/2010 20:44:04:
zo ie zo
het blijft leuk om te zien wat mensen er van maken :)
maar het is toch echt sowieso
Martijn B op 23/09/2010 21:16:45:
Volgens mij het je hier wel wat aan:
http://crisp.tweakblogs.net/blog/317/formatting-a-multi-level-menu-using-only-one-query.html
http://crisp.tweakblogs.net/blog/317/formatting-a-multi-level-menu-using-only-one-query.html
Daar heb ik wat meer aan =]