2020 || (int) $_GET["annee"] < 2016) { echo "L'année entrée n'est pas valide"; die(); } $rangMoyen = 0; // Variable donnant le rang utilisé pour calculer le tableau des choix, et servant aussi au classement affiché $sqlLimiteBasse = "SELECT * FROM notes_rang WHERE annee = :annee AND note >= :note ORDER BY classement DESC LIMIT 1"; $sqlLimiteHaute = "SELECT * FROM notes_rang WHERE annee = :annee AND note <= :note ORDER BY classement LIMIT 1"; $reqLimBasse = $db->prepare($sqlLimiteBasse); $reqLimBasse->execute([ "annee" => $_GET["annee"], "note" => $_GET["note"] ]); if ($reqLimBasse->rowCount() === 0) { // Pas de note au dessus de la note entrée => Forcément 1er $rangMoyen = 1; } else { $reqLimiteHaute = $db->prepare($sqlLimiteHaute); $reqLimiteHaute->execute([ "annee" => $_GET["annee"], "note" => $_GET["note"] ]); $rangBasArray = $reqLimBasse->fetch(PDO::FETCH_ASSOC); if ($reqLimiteHaute->rowCount() === 0) { // Pas de note en dessous => Forcément dernier $rangMoyen = $rangBasArray["classement"] + 10; } else { // Note entre 2 classements connus de la DB $rangHautArray = $reqLimiteHaute->fetch(PDO::FETCH_ASSOC); // Ligne non utilisée car révèle les points utilisés (entre xxx et yyy) sont connus // $rangText = "Entre ".$rangBasArray["classement"]." et ".$rangHautArray["classement"]; $rangMoyen = ((int) $rangBasArray["classement"] + (int) $rangHautArray["classement"]) / 2; $rangMoyen = (int) $rangMoyen; } } /******************************** * CALCUL DU TABLEAU DES CHOIX ********************************/ // HTML renvoyé au site $html = << RangLimier

RangLimier

Cet outil permet, en entrant une note et une année d'ECN, de voir le rang le plus proche associé.
Attention : Cet outil est à but purement indicatif !

Tableau de classement pour le rang {$rangMoyen}

Rang estimé pour la note {$_GET["note"]}/10800 : {$rangMoyen}

Chaque nombre dans chaque case correspond au nombre d'années où ce choix était dispo au classement rentré

EOF; require "apiDisplay.php"; } else { echo "Valeurs d'année et/ou note incorrecte."; }