Zoals de titel al zegt wil ik breadcrumbs maken voor bij mijn webwinkel. Nu heb ik bijvoorbeeld een url als index.php?cat=12&subcat=15&product=54. Voor degene de term breadcrumbs niet kenne, dat is iets als Home > Categorie > Subcategorie... :-)

Nu kijk ik met het volgende scriptje welke pagina actief is en geef dan de breadcrumbs:
<?
if(isset($_GET['product']))
{
echo '<li><a href="index.php">Home</a></li><li><a href="' ..$_GET['cat'] '">' .$_GET['cat']. '</a></li><li><a href="' ..$_GET['subcat'] '">' .$_GET['subcat']. '</a></li><li>Productnaam</li>';
}
elseif(isset($_GET['subcat']))
{
echo '<li><a href="index.php">Home</a></li><li><a href="' ..$_GET['cat'] '">' .$_GET['cat']. '</a></li><li>Subcategorienaam</li>';
}
elseif(isset($_GET['cat']))
{
echo '<li><a href="index.php">Home</a></li><li>Categorienaam</li>';
}
else
{
echo '<li><a href="index.php">Home</a></li>';
}
?>

Zoals jullie denk al wel snappen is nu dus steeds het ID zichtbaar bij de links. Ik wil echter niet de ID's tonen, maar de bijbehorende namen die ook in de tabel categorieen/producten staan.

Weet iemand misschien hoe dit moet?
Vraag de namen op in met query en zet deze namen in het resultaat.

Ik heb geen idee hoe jouw database eruit ziet, kan hier dus alleen maar naar raden...

Waar controleer jij trouwens of een GET wel een bestaande inhoud heeft? In bovenstaand stukje code kan ik de grootst mogelijke onzin in de breadcrumb zetten.
Ik controleer de waarde met bijvoorbeeld:
if(!ctype_digit($_GET['cat']))

De tabellen zien er als volgt uit:
Categorieen(id, naam, parent)
Producten (id, naam, cat_id)

Ik had dus ook een query gemaakt waaruit ik alle resultaten probeerde te halen, maar ik weet eigenlijk niet of dat goed is en hoe ik dan verder moet. De query zag er als volgt uit:
SELECT c.id AS categorie_id, cnaam AS categorie_naam, p.id AS product_id, p.naam AS product_naam FROM producten AS p LEFT JOIN categorieen AS c ON p.categorie_id = c.id";

Zou jij misschien kunnen zeggen hoe dat dan moet?

Reageren