<?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.'&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)
);