hip2/games.php

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Games</title> <link href="css/stijl.css" rel="stylesheet" type="text/css"> </head> <body> <div id="main"> <?php setlocale(LC_ALL,'nl_NL'); //Stelt de locale-instellingen in op Nederlands voor datum-, tijd-, getal- en valutaformaten //include de menubalk op deze pagina met home, games, leden include('menu.php'); ?> <H1>Games</H1> <?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'); //als er een waarde zit in de array $_GET met sleutel genre_id (in het adres) //De code controleert of er een waarde aanwezig is in de $_GET-array met de sleutel genre_id en of deze waarde een numerieke waarde is. if(is_numeric($_GET['genre_id'])){ //genre_id opslaan $genre_id = $_GET['genre_id']; //sql query om genrenaam op te halen $query = "SELECT naam from genres where genre_id = $genre_id"; //query uitvoeren $result = mysqli_query($db, $query) or die(mysqli_error($db). ": $query"); //1 record ophalen $row = mysqli_fetch_array($result); //Genrenaam laten zien echo "<h2>Genre: $row[naam]</h2>\n"; //sql query maken voor alle games van dat genre. Wordt later uitgevoerd(onderaan pas). $querygames = "SELECT * from games, gamegenres where games.game_id = gamegenres.game_id and gamegenres.genre_id = $genre_id order by naam ASC"; } //als er een waarde zit in de array $_GET met sleutel platform_id (in het adres) //De code controleert of er een waarde aanwezig is in de $_GET-array met de sleutel platform_id en of deze waarde een numerieke waarde is. elseif($_GET['platform_id']){ //platform_id opslaan $platform_id = $_GET['platform_id']; //sql query om platformnaam op te halen $query = "SELECT naam from platformen where platform_id = $platform_id"; //query uitvoeren $result = mysqli_query($db, $query) or die(mysqli_error($db). ": $query"); //1 record ophalen $row = mysqli_fetch_array($result); //Platformnaam laten zien echo "<h2>Platform: $row[naam]</h2>\n"; //sql query om alle records van games op te halen en een verbinding te leggen tussen de tabellen 'games' en 'platformgames'. //De query haalt alleen de games op die overeenkomen met een specifiek platform_id, en sorteert de resultaten alfabetisch (door ASC) op naam. $querygames = "SELECT * from games, platformgames where games.game_id = platformgames.game_id and platformgames.platform_id = $platform_id order by naam ASC"; } //als er een waarde zit in de array $_GET met sleutel studio_id (in het adres) //De code controleert of er een waarde aanwezig is in de $_GET-array met de sleutel studio_id en of deze waarde een numerieke waarde is. elseif($_GET['studio_id']){ //studio_id opslaan $studio_id = $_GET['studio_id']; //sql query om alles van studios op te halen $query = "SELECT * from studios where studio_id = $studio_id"; //query uitvoeren $result = mysqli_query($db, $query) or die(mysqli_error($db). ": $query"); //1 record ophalen $row = mysqli_fetch_array($result); //Studionaam laten zien en het een class genaamd 'subtitel' geven die in css eigenschappen krijgt. echo "<div class='subtitel'>Studio: $row[naam]</div>\n"; //weergeven van land, oprichtdatum studio, aantal ontwikkelaars en eigenaar. echo "<div>Land: $row[land]</div>"; echo "<div>Sinds: $row[datum]</div>"; echo "<div>Aantal ontwikkelaars: $row[ontwikkelaars]</div>"; echo "<div>Eigenaar: $row[eigenaar]</div>\n</a>"; //sql query om alle records van games op te halen en een verbinding te leggen tussen de tabellen 'games' en 'studiogames'. //De query haalt alleen de games op die overeenkomen met een specifieke studio(studio_id), en sorteert de resultaten alfabetisch (door ASC) op naam. $querygames = "SELECT * from games, studiogames where games.game_id = studiogames.game_id and studiogames.studio_id = $studio_id order by naam ASC"; } else{ //als geen genre_id, geen studio_id en geen platform_id dan sql query om alle games ophalen //query voor alle game ophalen $querygames = "SELECT * from games order by naam ASC"; } //query uitvoeren $result = mysqli_query($db, $querygames) or die(mysqli_error($db).": $querygames"); //games 1 voor 1 ophalen en laten zien als link naar gamedetails, met gameid in het adres while($row = mysqli_fetch_array($result)){ //dit haalt de gemmidelde rating op met het game_id van de game die net opgehaald is $querygem = "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 = $row[game_id]"; //query uitvoeren $resultgem = mysqli_query($db, $querygem) or die(mysqli_error($db) . ": $querygem"); //1 record ophalen $rowgem = mysqli_fetch_array($resultgem); //laat een link zien naar gamedetails.php, met het game_id toegevoegd aan het adres //laat ook afbeeldingen van de games zien waarvan bestandsnaam het bijbehorend game_id heeft. //ook is er een class aangemaakt, waar in css dan atributen aan de afbeeldingen worden gegeven //laat de naam(als link), leeftijdscategorie en rating(als link) zien echo "<div><a href='gamedetails.php?game_id=$row[game_id]'> <img class='gamepaginaafbeeldingen' src='afbeeldingen/$row[game_id].jpg' align='absmiddle'> $row[naam]</a> | $row[leeftijd]+ | <a href='reviews.php?game_id=$row[game_id]'>$rowgem[rating]/10</a></div>"; } ?> </div> </body> </html>

Resultaat

Made by Thijs Aarnoudse