RangLimier
Cet outil permet, en entrant un classement (réel ou supposé), de voir les choix disponibles à ce classement.
Tableau de classement
";
// On va récupérer tous les rangs limited dispo triés par idChoix
$reqRL = $db->query("SELECT idChoix, annee, rangLimite FROM dataset");
$rangLimites = $reqRL->fetchAll(PDO::FETCH_GROUP|PDO::FETCH_ASSOC);
// var_dump($rangLimites);
// Récupération des datasets
$specialityDatasetAbrev = getCsvToArrayKeyValue($_SETTINGS["datasetFolder"]."/liste_specialites_abrev.csv");
$specialityDataset = getCsvToArrayKeyValue($_SETTINGS["datasetFolder"]."/liste_specialites.csv");
$cityDataset = getCsvToArrayKeyValue($_SETTINGS["datasetFolder"]."/liste_villes.csv");
$inputClassement = (int) $_GET["classement"];
// Calcul et affichage des données
// Affichage de la 1ère ligne = Titre des colonnes
$html .= " | ";
foreach ($specialityDatasetAbrev as $specialityName) {
$html .= "".$specialityName." | ";
}
$html .= "
";
// Affichage de la suite du tableau avec le calcul
foreach ($cityDataset as $cityId => $cityName) {
$html .= "| ".$cityName." | ";
foreach ($specialityDatasetAbrev AS $specialityId => $specialityName) {
$idChoice = "0".$cityId.$specialityId;
if (!isset($rangLimites[$idChoice])) {
$nbAnneePropose = 0;
$nbPossibleAnneePropose = 0;
} else {
$nbAnneePropose = count($rangLimites[$idChoice]);
$nbPossibleAnneePropose = 0;
foreach ($rangLimites[$idChoice] as $rangLimite) {
if ((int) $rangLimite["rangLimite"] >= $inputClassement) {$nbPossibleAnneePropose++;}
}
}
// Affichage de la cellule
$html .= " $nbPossibleAnneePropose && $nbPossibleAnneePropose === 1):
$html .= "last-choice";
break;
case ($nbAnneePropose > $nbPossibleAnneePropose && $nbPossibleAnneePropose !== 1):
$html .= "half-choices";
break;
case ($nbAnneePropose === $nbPossibleAnneePropose):
$html .= "all-choices";
break;
}
$html .= "\">";
if ($nbPossibleAnneePropose > 0) {
$html .= $nbPossibleAnneePropose;
}
$html .= " | ";
}
$html .= "
";
}
$html .= "
";
echo $html;
?>
| Légende (sur toutes les années) |
| Jamais proposé |
Aucun choix |
Une seule année |
Plusieurs choix |
Tous les choix |