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.

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

Detailpagina (link naar detail.php)

Plaats deze rond de titel en de afbeelding.

<a href="detail.php?ID=<?php echo $row['ID'];?>"> 
<h2><?php echo $row["titel"];?> </h2>
</a>

<h3> <?php echo $row["datum"];?> </h3>

<a href="detail.php?ID=<?php echo $row['ID'];?>"> 
<img src="img/<?php echo $row['foto'];?>" width="25%" >
</a>

<p> <?php echo $row["prijs"];?> </p>

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

<?php
include "connectOnline.php";

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

 

 

 

 

We gaan min. 4 extra filters meegeven om specifieke producten weer te geven. Bijvoorbeeld filteren op kleur, merk, < of > dan bepaalde 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;
}
	
	

Vb. op de kolom prijs filteren: filter.php?prijs<100 en 2de filter "filter.php?prijs>=100"

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'";