Ik heb een tijdje geleden breadcrumbs gemaakt (voorbeeld: Home > Categorie > Subcategorie). Op zich werkt dit goed, maar volgens mij is het niet de beste manier om dit te doen. Ik doe het nu namelijk als volgt:

De url is bijvoorbeeld http://www.website.nl/index.php?cat=audio&subcat=mp3-s...=ipod-nano-8gb. Dan haal ik steeds met $_GET de namen op en stel zo de breadcrumbs samen. Probleem is dan dus dat als mensen iets in de url aanpassen, dat dan ook de namen van de breadcrumbs aangepast worden. Dit vind ik niet bepaald netjes.

Nu lijkt het mij dus netter om het gewoon met een query op te vragen. Dat als bijvoorbeeld de bezoeker op de ipod nano 8gb pagina is, dat een query de bijbehorende categorie en subcategorie zoekt. Ik heb een tabel categorie (id, naam, modnaam, parent) en een tabel product(id, naam, modnaam, categorie_id) en kan met de volgende query deze gegevens opvragen:
<?php
SELECT p.id AS product_id, p.naam AS product_naam, p.modnaam AS product_modnaam,c.modnaam AS subsubcategorie_modnaam, d.id as subcategorie_id, d.modnaam as subcategorie_modnaam, e.id AS categorie_id, e.modnaam AS categorie_modnaam
FROM product p
INNER JOIN categorie c ON p.categorie_id = c.id
INNER JOIN categorie d ON c.parent = d.id
INNER JOIN categorie e ON d.parent = e.id
WHERE p.modnaam = "ipod-nano-8gb"
?>

Nu is mijn vraag: Hoe kan ik hier het beste breadcrumbs van maken? Kan ik dan het beste bijvoorbeeld iets doen als:

<?php
if(isset($_GET['product']))
{
// Hier komt dan dus de code voor home > categorie > subcategorie > product
}

elseif(isset($_GET['subcat']))
{
// Hier komt dan dus de code voor home > categorie > subcategorie
}

elseif(isset($_GET['cat']))
{
// Hier komt dan dus de code voor home > categorie
}
else
{
// Hier komt dan dus de code voor home
}
?>

Volgens mij is dit niet de meest efficiente manier die er is. Kunnen jullie mij misschien zeggen hoe ik dit het beste kan doen?
Misschien heb ik oogkleppen op, maar zou je even kunnen toelichten wat een breadcrumb is?
Dat is dat je als gebruiker ziet waar je bent. Eén van de voorwaarden voor een goede GUI dus.
@Simon
Kun je aub je query en code wat overzichtelijker maken, dit is echt niet te doen zo. Wat enters en tabjes?
@Arend: Excuses dat ik dat niet duidelijker erbij gezet. Nu heb ik een soort van voorbeeldje erbij gezet. Het komt er in ieder geval op neer dat het een soort van kruimelpad is waardoor je altijd kunt zien waar je je op de pagina bevindt en je stapsgewijs terug een stap terug kunt doen.

@PHPerik: Je hebt helemaal gelijk, het was wat onduidelijk. Inmiddels aangepast. :-)

Reageren