Daar ben ik weer :)

Ik heb drie grafische kolommen.

De eerste wordt de hoofdcategorie, de tweede de subcategorie en de derde de omschrijving van die subcategorie. Bijvorbeeld Hoofdcat. Eten, subcategorie macaroni en de omschrijving vertelt me wat bijvoorbeeld de ingredienten zijn.

Nu wil ik met behulp van PHP/MySQL alle data dynamisch maken en uitlezen.
Wat ik NIET weet is hoe ik deze informatie netjes gecategoriseerd kan weergeven in php waarbij het 'eten' linkje clickable is... vervolgens het 'macaroni' linkje verschijnt en ook weer clickable is... waardoor er daarnaast weer de omschrijving verschijnt.

Snapt iemand wat ik bedoel en zo ja, heeft iemand een script dat me op weg kan helpen?

groetjes,
Marije

ps. ik heb al wat geprobeerd en mij tabel in de DB ziet er nu als volgt uit:

ID, categorie, subcategorie, omschrijvig
/me kijkt jan lief aan ;-)

bedankt arjan, ik ga er na het eten mee aan de slag!
<?php
define("BR", "\n\r");

//Database gegevens en het verbinding maken met een database.
$db_host = '';
$db_user = '';
$db_pass = '';
$db_name = '';

mysql_connect($db_host, $db_user, $db_pass) or die('Er kon geen verbinding met de server worden gemaakt.');
mysql_select_db($db_name) or die('Ik kon de juiste database niet vinden.');

//We kijken of er een categorie in de url te vinden is.
if(isset($_GET['categorie']))
{
if(is_numeric($_GET['categorie']))
{
$categorie = mysql_real_escape_string($_GET['categorie']);
}
}

//Hetzelfde doen we voor een productid
if(isset($_GET['productid']))
{
if(is_numeric($_GET['productid']))
{
$productid = mysql_real_escape_string($_GET['productid']);
}
}

//Huppakee, tijd om eens een lijstje van categorieën te maken.
echo '<h1>Categorieën</h1>'.BR;

$query = "SELECT id, naam FROM categorie";
$resultaat = mysql_query($query);

//Als er een resultaat is en minimaal 1 rij...
if($resultaat && mysql_num_rows($resultaat) >= 1)
{
//Echoén we een rijtje met categorieën.
while($rij = mysql_fetch_array($resultaat))
{
$id = $rij['id'];
$naam = stripslashes(ucfirst($rij['naam']));

echo '<a href="?categorie='.$id.'">'.$naam.'</a><br>'.BR;
}
}else{
echo '<p>Sorry, er zijn nog geen categorieën toegevoegd!</p>'.BR;
}

//Als er een categorie in de url gevonden is word het tijd om de verschillende producten op te halen.
if(isset($categorie))
{
echo BR.'<h2>Producten</h2>'.BR;

$query = "SELECT id, naam FROM producten WHERE categorie_id = ".$categorie;
$resultaat = mysql_query($query);

if($resultaat && mysql_num_rows($resultaat) >= 1)
{
while($rij = mysql_fetch_array($resultaat))
{
$id = $rij['id'];
$naam = stripslashes(ucfirst($rij['naam']));

echo '<a href="?categorie='.$categorie.'&amp;productid='.$id.'">'.$naam.'</a><br>'.BR;
}
}else{
echo '<p>Sorry, er zijn nog geen producten toegevoegd!</p>'.BR;
}
}

//Als er een product id in de url gevonden is gaan we de beschrijving daarvan ophalen.
if(isset($productid))
{
$query = "SELECT naam, omschrijving FROM producten WHERE id = ".$productid;
$resultaat = mysql_query($query);

//We verwachten 1 resultaat, niet meer en niet minder!
if($resultaat && mysql_num_rows($resultaat) == 1)
{
$rij = mysql_fetch_array($resultaat);

$naam = stripslashes(ucfirst($rij['naam']));
$omschrijving = stripslashes($rij['omschrijving']);

echo BR.'<div id="product"><h3>'.$naam.'</h3>'.BR;

echo '<p>'.$omschrijving.'</p>'.BR;
}else{
echo '<p>Sorry, er is nog geen omschrijving toegevoegd!</p>'.BR;
}
}
?>

En de databasecode:


CREATE TABLE categorie (
  id int(11) NOT NULL auto_increment,
  naam varchar(255) NOT NULL,
  PRIMARY KEY (id)
);

CREATE TABLE producten (
  id int(11) NOT NULL auto_increment,
  naam varchar(255) NOT NULL,
  omschrijving text NOT NULL,
  categorie_id int(11) NOT NULL,
  PRIMARY KEY (id)
);
het werkt! nog niet in drie kolommen maar dat ga ik nu proberen.. bedankt arjan!
hmm ik krijg het nog niet voor elkaar naast elkaar... ik heb overal stukken code staan haha.... misschien dat Jan me nog een klein stukje op weg wil helpen?

^^

Ik vond het zo zielig voor Jan dat hij elke keer weer zijn CSS kunsten moet tonen, dat ik maar een poging waagde :P

Resultaat
Zipfile

Ik heb Arjan zijn code zoveel mogelijk intact gelaten. Heb alleen wat HTML ervan veranderd, en wat elsjes voor extra meldingen toegevoegd.
wauw, dat is wel heel snel zeg... ook frustrerend om te zien dat sommigen van jullie er zo makkelijk iets van maken... ik ga het nu proberen in te voeren en dat laat ik het hier weten!

Die copyright mag je trouwens weghalen hoor :P Ik had gewoon even iets voor in de footer nodig :)
okee bedankt :)
Ok, laatste vraag.

Ik heb je CSS script gebruikt, perfect!
Nu zoek ik alleen nog een stukje code dat ervoor zorgt dat de zojuist geselecteerde categorie en product ge-highlite worden zodat het duidelijk is waar je in het systeem zit.
Iemand een idee?
Wat heb je zelf zoal geprobeerd?

Reageren