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

stats.php

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

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

  <!-- Hämtar alla quiz och skapar en knapp för att välja det quizet -->
    <?php
        $sql 
"SELECT * FROM quizes";

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

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

        while (
$res $stmt->fetch(PDO::FETCH_ASSOC)) {
          
$name $res["quizname"];
          echo 
"<form method='post'><input type='submit' name='quizname' value='$name'></form>";
        }
      
?>
    </select>


  <div id="statDiv">

  <?php
    
// Om ett quiz har valts, hämta alla resultat från det quizet
    
if (isset($_POST["quizname"])) {
      
// Hämta alla resultat, sorterad efter lägst score
      
$sql "SELECT * FROM results
      LEFT JOIN quizUsers ON results.playerId = quizUsers.id
      LEFT JOIN quizes ON results.quizId = quizes.id
      WHERE quizname=?
      ORDER BY score"
;
      
$stmt $dbconn->prepare($sql);

      
$data = array($_POST["quizname"]);
      
$stmt->execute($data);

      
// Spara alla scores i en array
      
$scores = array();
      while (
$res $stmt->fetch(PDO::FETCH_ASSOC)) {
        
$scores[] = $res["score"];
      }

      
// Sparar antalet av varje score som en array med score som nyckel och antal som värde
      
$valuesArray array_count_values($scores);

      
// Skriv ut antal poäng, hur många som fått det och skapa en stapel
      
foreach ($valuesArray as $score => $amount) {
        echo 
"<div>
              
$amount
              <div style='height:"
$amount 10 "vh; background-color:green;'></div>
              
$score poäng
              </div>"
;
      }
    }
  
?>

  </div>
</body>
</html>