Meerdere tabellen

Als je complexe websites bouwt, ben je al gauw toe aan het gebruik van meerdere tabellen in een database. Het is van belang dat deze tabellen onderling goede (dat wil zeggen: correcte) relaties bezitten. Je moet tenslotte gegevens uit meerdere tabellen kunnen koppelen. Dan is het noodzakelijk gebruik te maken van subqueries of joins.

Een database over buurtvereniging bestaat uit 4 tabellen. Stel we willen het lidnummer, de roepnaam en de activiteit waarvoor kinderen zich hebben aangemeld, tonen in een tabel. Deze gegevens staan in twee tabellen, namelijk de tabel inschrijvingen en de tabel activiteiten. We moeten ervoor zorgen dat het activiteitnr in de tabel inschrijvingen overeenkomt met het activiteitnr uit de tabel activiteiten. Op die manier kunnen we de koppeling tussen de twee tabellen waarborgen. Het script ziet er als volgt uit:

<!DOCTYPE html>
<html lang="nl">
<head>
    <title>kinderen en activiteiten</title>
    <meta charset="utf-8">
    <link rel="stylesheet" href="opmaak.css">
</head>
<body>
<h3>Een overzicht van alle inschrijvingen</h3>
<table border="1" cellpadding="3">
    <tr>
        <th>lidnr</th>
        <th>roepnaam</th>
        <th>activiteit</th>
    </tr>
    <?php
    include "connect_buurtvereniging.php";
    
    $query = "SELECT inschrijvingen.lidnr, roepnaam, activiteit
                FROM inschrijvingen, activiteiten 
                WHERE inschrijvingen.activiteitnr = activiteiten.activiteitnr";
    $result = mysqli_query($link, $query);
    while ($row = mysqli_fetch_assoc($result)) {
        ?>
        <tr>
            <td><?php echo $row["lidnr"]; ?></td>
            <td><?php echo $row["roepnaam"]; ?></td>
            <td><?php echo $row["activiteit"]; ?></td>
        </tr>
        <?php
    }
    ?>
</table>
<?php
mysqli_close($link);
?>
</body>
</html>