Van MySQL naar HTML met PHP

In de vorige les hebben we een databank aangemaakt in MySQL. Het is de bedoeling dat we de data die in de tabel "articles" en "authors" zitten, gaan weergeven in een webpagina. Om de databankgegevens om te zetten in webpagina's gebruiken we een tussenliggende taal: PHP

PHP is de tussenliggende taal of de middleware

CRUD

PHP kan op diverse manieren met een databank spreken:

1. Create: inhouden in de databank wegschrijven (bewaren)

2. Read: inhouden uit de databank lezen en weergeven (omzetten in HTML of wat anders)

3. Update: aanpassen van data in de databank (bijvoorbeeld als er een foutje in staat)

4. Delete: verwijderen van gegevens uit de databank.

PHP werkt op de server. Dat wil zeggen dat de code die je schrijft in PHP niet meer zichtbaar is in de browser van de websitebezoeker. 


Gegevens lezen en omzetten in HTML

In deze les lezen we de gegevens die in de tabel "articles" staat uit, en zetten we die om in een HTML-pagina. In deze tabel bewaarde ik ondertussen (via PHPMyAdmin) de volgende gestructureerde gegevens:


Ik wil hiervoor de volgende structuur krijgen in mijn HTML-pagina. Je kan dit gerust het HTML-sjabloon noemen:


<article>
      <h1>TITEL VAN DE RIJ</h1>
      <img src="AFBEELDING"/>
      <p>INHOUD VAN DE RIJ</p>
</article>

De databank openen met PHP en omzetten in HTML

Van je hostingprovider of via je hostingprovider krijg je de gegevens van je databank: het adres (host), de naam van de databank, de gebruikersnaam en het wachtwoord. Die gegevens heb je nodig om je databank te kunnen openen. 

Je maakt nu een nieuw bestand in de map van je website met de naam read.php.

In je teksteditor plak je de onderstaande code.


<?php
$servername = "ADRES of HOST";
$username = "GEBRUIKERSNAAM";
$password = "WACHTWOORD";
$dbname = "DATABANKNAAM";

// Maak de verbinding
$conn = new mysqli($servername, $username, $password, $dbname);
// Controleer de verbinding
if ($conn->connect_error) {
    //breek de code hier af als de verbinding mislukt
    die("Verbinding met de databank is mislukt: " . $conn->connect_error);
} 
//selecteer alle rijen van de tabel 'articles'
$sql = "select * FROM articles";

//bewaar het resultaat van de zoekopdracht
$result = $conn->query($sql);

//als het aantal rijen groter is dan 0, zet de rijen dan om in HTML
if ($result->num_rows > 0) {
    // maak een "loop" door alle rijen
    while($row = $result->fetch_assoc()) {
           //hier sluiten we de PHP-code even af om rechtstreeks HTML te kunnen schrijven
           ?>
           <article>
                 <h1><?echo $row["title"];?></h1>
                 <img src="<?echo $row['cover'];?>"/>
                 <p><?echo $row["content"];?></p>
                 <sub><?echo $row["articledate"];?></sub>
           </article>
           <?
    }
} else {
    //Er staan geen artikels/rijen in de databank
    echo "Geen artikels gevonden in de databank";
}
$conn->close();
?>

Als je de pagina nu opent in de browser, krijg je de output te zien in HTML. Bekijk je de broncode van je webpagina in de browser, dan zal je merken dat de PHP-code niet meer zichtbaar is. 

De PHP-code hierboven is gebaseerd op codevoorbeelden van w3schools.com


home