Webbserverprogrammering 1

Show sourcecode

The following files exists in this folder. Click to view.

webbsrvprg/quiz/

admin.php
createQuiz.php
createadmin.php
logIn.php
myStats.php
playquiz.php
result.php
scoreboard.php
signIn.php
start.php
startsida.php
stats.php
style.css
tables.php
update.php

myStats.php

100 lines UTF-8 Windows (CRLF)
<?php 
  
/** @var PDO $dbconn */
  
include ("start.php");
?>

  <!-- Formulär för att välja mellan alla quiz eller bara ett -->
  <form method="post">
    <select name="quiz">
      <option>Alla</option>
      <?php 
        
/** @var PDO $dbconn */
        
include ('../dbconnection.php');

        
// Skriver ut ett alternativ för alla quiz
        
$sql "SELECT * FROM quizes";

        
$stmt $dbconn->prepare($sql);

        
$data = array();
        
$stmt->execute($data);

        while (
$res $stmt->fetch(PDO::FETCH_ASSOC)) {
          echo 
"<option>" $res["quizname"] . "</option>";
        }
      
?>
    </select>
    <input type="submit" value="Välj quiz">
  </form>

  <!-- Länk till startsidan -->
  <a href="startsida.php">Startsida</a>

  <?php
    
// Om ett quiz har valts(och "alla" inte valts), lägg till en begränsing i sql-koden 
    // att endast ta resultat från det quizet
    
$quiz "";
    if (isset(
$_POST["quiz"])) {
      if (
$_POST["quiz"] != "Alla") {
        
$quiz "AND quizname='" $_POST["quiz"] . "'";
      }
    }

    
// Hämta alla resultat av spelaren, sorterad efter resultat
    
$sql "SELECT * FROM results
    LEFT JOIN quizUsers ON results.playerId = quizUsers.id
    LEFT JOIN quizes ON results.quizId = quizes.id
    WHERE username=?
    " 
$quiz "
    ORDER BY score DESC"
;
    
$stmt $dbconn->prepare($sql);

    
$data = array($_COOKIE["username"]);
    
$stmt->execute($data);

    
// Skriv ut resultaten i en tabell
    
echo "<table class='table'><caption>Resultat i rangordning</caption>
          <tr>
            <td>Spelare</td>
            <td>Quiz</td>
            <td>Resultat</td>
          </tr>"
;

    while (
$res $stmt->fetch(PDO::FETCH_ASSOC)) {
      echo 
"</tr><td>".$res["username"]."</td>";
      echo 
"<td>".$res["quizname"]."</td>";
      echo 
"<td>".$res["score"]."</td></tr>";
    }

    echo 
"<table><br><br>";

    
// Gör samma sak, men sortera inte resultaten
    
$sql "SELECT * FROM results
    LEFT JOIN quizUsers ON results.playerId = quizUsers.id
    LEFT JOIN quizes ON results.quizId = quizes.id
    WHERE username=?" 
$quiz;

    
$stmt $dbconn->prepare($sql);

    
$data = array($_COOKIE["username"]);
    
$stmt->execute($data);

    echo 
"<table class='table'><caption>Osorterade resultat</caption>
          <tr>
            <td>Spelare</td>
            <td>Quiz</td>
            <td>Resultat</td>
          </tr>"
;

    while (
$res $stmt->fetch(PDO::FETCH_ASSOC)) {
      echo 
"</tr><td>".$res["username"]."</td>";
      echo 
"<td>".$res["quizname"]."</td>";
      echo 
"<td>".$res["score"]."</td></tr>";
    }

    echo 
"<table>";
  
?>
</body>
</html>
</body>
</html>