155 lines
4.1 KiB
PHP
155 lines
4.1 KiB
PHP
<h1>
|
|
Classement par catégorie
|
|
</h1>
|
|
|
|
<?php
|
|
require_once "dao/bdd.php";
|
|
require_once "dao/dao.php";
|
|
require_once "dao/cat_dao.php";
|
|
|
|
//Initialisation d'un DAO pour les catégories
|
|
$dao = new cat_dao();
|
|
|
|
//On récupère toutes les catégories si besoin
|
|
if (isset($_POST["cat"]))
|
|
{
|
|
if ($_POST["cat"] == "all")
|
|
{
|
|
$categories = $dao->getAllCat();
|
|
} else
|
|
{
|
|
$categories = array(0 => (array(0 => $_POST["cat"])));
|
|
}
|
|
} else
|
|
{
|
|
$categories = $dao->getAllCat();
|
|
}
|
|
|
|
//On met en place un formulaire pour le choix de la catégories
|
|
?>
|
|
|
|
<form method="post" action="index.php?page=rank_cat">
|
|
<fieldset>
|
|
<select name="cat">
|
|
<option value="all" class="center_item">
|
|
Toutes les catégories
|
|
</option>
|
|
<?php
|
|
foreach ($dao->getAllCat() as $cat)
|
|
{
|
|
if ((isset($_POST["cat"])) && ($cat[0] == $_POST["cat"]))
|
|
{
|
|
echo "<option value='" . $cat[0] . "' selected='selected'>";
|
|
} else
|
|
{
|
|
echo "<option value='" . $cat[0] . "'>";
|
|
}
|
|
echo $cat[0];
|
|
echo "</option>";
|
|
}
|
|
?>
|
|
</select>
|
|
<br/>
|
|
<br/>
|
|
<button type="submit">Valider</button>
|
|
</fieldset>
|
|
</form>
|
|
|
|
<?php
|
|
//Pour chaque catégories, on construit un tableau
|
|
foreach ($categories as $cat)
|
|
{
|
|
?>
|
|
|
|
<h2 class="center_item"><?php echo "$cat[0]"; ?></h2>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Nom</th>
|
|
<th>Prénom</th>
|
|
<th>Nombre de partie jouées</th>
|
|
<th>Total points</th>
|
|
<th>Rang</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<?php
|
|
//On commence par inclure les fichiers nécessaire
|
|
require_once "dao/point_manager.php";
|
|
require_once "dao/bdd.php";
|
|
require_once "dao/dao.php";
|
|
require_once "metier/ranker.php";
|
|
require_once "metier/sort_manager.php";
|
|
require_once "metier/user.php";
|
|
|
|
//On récupère d'abord tous les joueurs
|
|
$players = point_manager::getAllPlayer();
|
|
|
|
//On créer une variable de stockage
|
|
$storage = array();
|
|
$i = 0;
|
|
|
|
//On charge toutes les données
|
|
foreach ($players as $player)
|
|
{
|
|
$args = array();
|
|
$args["login"] = $player["login"];
|
|
$args["cat"] = $cat[0];
|
|
$storage[$i] = new ranker("cat", $args);
|
|
$i++;
|
|
}
|
|
|
|
//On trie le tableau selon le nombre de points totals
|
|
usort($storage, "sort_manager::pointsort");
|
|
|
|
|
|
//Affichage finale
|
|
$i = 1;
|
|
|
|
foreach ($storage as $rank)
|
|
{
|
|
//Si la personne n'a joué à aucun jeu, on passe à l'itération suivante
|
|
if ($rank->getNbGame() == 0)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if (isset($_SESSION["user"]) && $user->getLogin() == $rank->getUser()->getLogin())
|
|
echo "<tr class=\"selected\">";
|
|
else
|
|
echo "<tr>";
|
|
|
|
echo "<td>";
|
|
echo $rank->getUser()->getNom();
|
|
echo "</td>";
|
|
echo "<td>";
|
|
echo $rank->getUser()->getPrenom();
|
|
echo '</td>';
|
|
echo "<td>";
|
|
echo $rank->getNbGame();
|
|
echo '</td>';
|
|
echo "<td>";
|
|
echo floor($rank->getPoint());
|
|
echo '</td>';
|
|
echo "<td>";
|
|
echo $i;
|
|
echo '</td>';
|
|
echo '</tr>';
|
|
$i++;
|
|
}
|
|
?>
|
|
</tbody>
|
|
</table>
|
|
|
|
<?php
|
|
}
|
|
?>
|
|
|
|
<br/>
|
|
<br/>
|
|
|
|
<form class="center_item" method="post" action="index.php">
|
|
<fieldset>
|
|
<button type="button" onclick="javascript:navigate('index.php?page=rank')">Retour</button>
|
|
</fieldset>
|
|
</form>
|