<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Gamedetails</title>
<link href="css/stijl.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="main">
<?php
//include de menubalk op deze pagina met home, games, leden
include('menu.php');
//zorgt ervoor dat alle info van de verbinding met database die db.php maakt kan worden gebruikt in alle code op dit bestand.
// Zorgt ervoor dat alle informatie en functies voor de databaseverbinding uit db.php beschikbaar zijn in dit bestand.
include('db.php');
setlocale(LC_ALL,'nl_NL'); //Stelt de locale-instellingen in op Nederlands voor datum-, tijd-, getal- en valutaformaten
//als er een waarde zit in de array $_GET met sleutel game_id (in het adres)
//De code controleert of er een waarde aanwezig is in de $_GET-array met de sleutel game_id en of deze waarde een numerieke waarde is.
if(is_numeric($_GET['game_id'])){
//game_id opslaan
$game_id = $_GET['game_id'];
}
else{
echo 'Er is een onjuist id opgegeven';
//Deze statement stopt onmiddellijk de uitvoering van het PHP-script.
exit;
}
//info van games ophalen
$query = "select * from games where game_id = $game_id";
//query uitvoeren
$result = mysqli_query($db, $query) or die(mysqli_error($db). ": $query");
$row = mysqli_fetch_array($result); //1 record ophalen
echo "<h1><img class='gameafbeelding' src='afbeeldingen/$row[game_id].jpg'>$row[naam]</h1>\n";
$timestamp = strtotime($row['datum']); //zet de datum om in een 'timestamp' (aantal seconden sinds 1 januari 1970)
$datum = strftime("%e %B %Y", $timestamp); //aan de hand van de timestamp gaat hij de datum in bepaalde format stoppen
echo "<div>$datum</div> <div>Aantal verkocht: $row[verkocht]</div> <div>Leeftijdscategorie: $row[leeftijd]</div> <div>Over: $row[inhoud]</div>\n";
//sql query maken voor alle genres die bij de games horen (waar genre_id en game_id bij elkaar horen)
$query = "SELECT genres.naam, genres.genre_id
from games, gamegenres, genres
where games.game_id = gamegenres.game_id
and gamegenres.genre_id = genres.genre_id
and games.game_id = $game_id";
echo "<p>Genres: ";
//query uitvoeren
$result = mysqli_query($db, $query) or die(mysqli_error($db). ": $query");
$genres = []; //lege array maken
//een voor een de records ophalen tot er niks terugkomt ($row is dan leeg en wordt beschouwd als false)
while($row = mysqli_fetch_array($result)){
//link naar games.php, met het genre_id toegevoegd aan het adres, toevoegen aan de array genres.
$genres[]= "<a href='games.php?genre_id=$row[genre_id]'>$row[naam]</a>";
}
//zorgt ervoor dat tussen alle genres uit $genres een komma , ertussen krijgen
//implode maakt van alle ellementen van een array ($genres in dit geval) één string
echo implode(", ", $genres);
echo "</p>";
//sql query voor alle platformnamen die bij een game_id horen (waar game_id en platform_id bij elkaar horen)
$query = "SELECT platformen.naam, platformen.platform_id
from games, platformgames, platformen
where games.game_id = platformgames.game_id
and platformgames.platform_id = platformen.platform_id
and games.game_id = $game_id";
echo "<p>Platforms: ";
//query uitvoeren
$result = mysqli_query($db, $query) or die(mysqli_error($db) . ": $query");
$platforms = []; //lege array maken
//een voor een de records ophalen tot er niks terugkomt ($row is dan leeg en wordt beschouwd als false)
while ($row = mysqli_fetch_array($result)) {
//link naar games.php, met het platform_id toegevoegd aan het adres, toevoegen aan de array platforms.
$platforms[]= "<a href='games.php?platform_id=$row[platform_id]'>$row[naam]</a>";
}
//zorgt ervoor dat tussen alle platformen uit $platformen een komma , ertussen krijgen
//implode maakt van alle ellementen van een array ($platforms in dit geval) één string
echo implode(", ", $platforms);
echo "</p>";
//sql query voor alle studio informatie die bij een specifiek studio_id horen (waar game_id en studio_id bij elkaar horen)
$query = "SELECT studios.naam, studios.studio_id, studios.land, studios.datum, studios.ontwikkelaars, studios.eigenaar
from games, studiogames, studios
where games.game_id = studiogames.game_id
and studiogames.studio_id = studios.studio_id
and games.game_id = $game_id";
echo "<p>Studio: ";
//query uitvoeren
$result = mysqli_query($db, $query) or die(mysqli_error($db) . ": $query");
$studios = []; //lege array maken
//een voor een de records ophalen tot er niks terugkomt ($row is dan leeg en wordt beschouwd als false)
while ($row = mysqli_fetch_array($result)) {
//link naar games.php, met het studio_id toegevoegd aan het adres, toevoegen aan de array studios
$studios[]= "<a href='games.php?studio_id=$row[studio_id]'>$row[naam]</a>";
}
//implode maakt van alle ellementen van een array ($studios in dit geval) één string
echo implode($studios);
echo "</p>";
//sql query voor alle leden (van site) tellen die een specifieke game hebben als 'aantal_spelers'
//die bij een specifiek game_id horen (waar game_id en lid_id bij elkaar horen)
$query = "SELECT count(leden.voornaam) as aantal_spelers
from games, gamebezit, leden
where games.game_id = gamebezit.game_id
and gamebezit.lid_id = leden.lid_id
and games.game_id = $game_id";
echo "<p>Aantal spelers: ";
//query uitvoeren
$result = mysqli_query($db, $query) or die(mysqli_error($db) . ": $query");
//een voor een de records ophalen tot er niks terugkomt ($row is dan leeg en wordt beschouwd als false)
while ($row = mysqli_fetch_array($result)) {
echo "$row[aantal_spelers] "; //aantal spelers van een game worden weergegeven
}
echo "</p>";
//sql query voor gemm rating van game berekenen en ophalen
$query = "SELECT round(avg(rating), 1) as rating
from games, gamebezit, reviews
where games.game_id = gamebezit.game_id
and games.game_id = reviews.game_id
and games.game_id = $game_id";
echo "<p>Gemiddelde rating: ";
//query uitvoeren
$result = mysqli_query($db, $query) or die(mysqli_error($db) . ": $query");
//1 record ophalen
$row = mysqli_fetch_array($result);
//link naar reviews waarbij een game_id wordt meegegeven
echo "<a href= 'reviews.php?game_id=$game_id'>$row[rating]</a>";
echo "</p>";
?>
</div>
</body>
</html>