Als een websitebezoeker (een "client") via zijn browser (de clientbrowser of useragent) een pagina opvraagt, dan vraagt hij/zij de server in feite om een HTML-pagina op te sturen die bepaalde informatie bevat. De server stuurt vervolgens de webpagina terug (niet via de postbode).

We spreken in dit geval van een GET-request. De gebruiker of client wil INFORMATIE "KRIJGEN" (to get). Het adres dat je in de adresbalk van je browser invoert is dan de GET-REQUEST.

Je kan echter via de adresbalk nog extra informatie of zoekopdrachten mee verzenden. Dit doe je op de volgende manier:

ADRES VAN DE WEBPAGINA ?   ZOEKNAAM = ZOEKOPDRACHT

Bijvoorbeeldwww.schoolvoorbeeld.be/websites/studenten/student/zoek.php?q=sint

Om ervoor te zorgen dat onze PHP-pagina die verzonden waarde ook kan ontvangen, moeten we de PHP-code van zoek.php enigszins aanpassen:

q = $_GET["q"];
$sql = "select * from articles where title like '%$q%'"; 

Wat merk je in bovenstaande regels code? 

  1. We versturen een zoekterm met de benaming "q" naar de server.
  2. We sturen eveneens een waarde mee voor die zoekterm: q=sint
  3. In de PHP-pagina op de server kunnen we die verzonden waarde opvragen met $_GET["q"]
  4. Die "ontvangen waarde" stoppen we in een PHP-variabele (een soort tijdelijk doosje) met de naam $q.
  5. Samengevat zien stap 3 en 4 er zo uit: $q = $_GET["q"];
  6. Vervolgens passen we onze SQL-opdracht aan, zoals je hier boven kan zien.

We gaan min. 4 filters meegeven om specifieke producten weer te geven. Filter op categorie, andere veel voorkomende filters zijn op: kleur, merk, prijs, ...

Plaats boven de artikels en onder de section-tag een submenu, we gaan straks een nieuwe pagina maken filter.php.

Plaats de code onder de <div class="container"> en boven de <section>.

<ul class="filter">
	<li>
	<a href="filter.php?kleur=grijs"> grijs </a>
	</li>
	<li>
	<a href="filter.php?kleur=blauw"> blauw </a>
	</li>
	<li>
	<a href="filter.php?kleur=wit"> wit </a>
	</li>
</ul>

De CSS-code ziet er als volgt uit:

ul.submenu  {
    display: flex!important;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    padding-left: 0;
    background-color:#ccc;
}
ul.submenu  li {
    list-style-type: none!important;
    display: inline-block!important;
    width: calc(100% / 3);
    height:40px;
    line-height:40px;
    text-align: center;
}
	
	

In de filter pagina plaats je volgende query:

$kleur=$_GET["kleur"];
	
$sql = "SELECT * FROM webshop WHERE kleur='$kleur'"; 
of
$merk=$_GET["merk"];
	
$sql = "SELECT * FROM webshop WHERE merk='$merk'"; 
of
$prijs=$_GET["prijs"];
	
$sql = "SELECT * FROM webshop WHERE prijs='$prijs'"; 

Je opent een nieuwe pagina maar stuurt de juiste kolomnaam met waarde mee in de link

Detailpagina (link naar detail.php)

Geef de waarde van je id mee met je link naar detail.php.

<div class="products">
<?php foreach ($result as $row): ?>


<a href="detail.php?ID=<?php echo $row['ID'];?>"  class="product"> 

	/*<img src="Files/Producten/T-Shirt/<?php echo $row['foto'];?>" width="200" height="200" >
	<span class="name"> <?php echo $row["titel"];?> < /span >
	<span class="price"> € <?php echo $row["prijs"];?> </span> */

</a>

In de detailpagina filter je op id via de GET methode!, de URL in de browser zou er zo moeten uitzien:

<?php
include "connect.php";

$id= $_GET["id"];

$sql = "SELECT * FROM tabelnaam WHERE id='$id'";