manque un formulaire pour afficher les phases du joueurs courant et la fonctionnalité 1 stat est correct

This commit is contained in:
2024-04-18 11:15:37 +02:00
parent 0b2b400091
commit 87ce2f6ff9
5 changed files with 76 additions and 11 deletions

View File

@@ -4,6 +4,16 @@ $message = "";
// recupération de la liste des tables
$stats = get_statistiques();
function get_joueurs_qualifs(int $id){
$requete_qualif_joueurs = "SELECT T.nom, YEAR(T.date_deb), niveau
FROM participe Pa
JOIN phase Ph USING(idtournoi, niveau)
JOIN tournoi T USING(idtournoi)
WHERE Pa.idjoueur = $id AND Pa.est_qualifie AND Pa.a_joue
ORDER BY T.date_deb DESC, Ph.niveau DESC;";
return get_infos_requete($requete_qualif_joueurs);
}
if ($stats == null || count($stats) == 0) {
$message .= "Aucune statistique n'est disponible!";
} else {
@@ -14,5 +24,6 @@ if ($stats == null || count($stats) == 0) {
$joueurs_au_moins_deux_top_5 = get_infos_instances('joueurs_au_moins_deux_top_5');
$tailles_plateaux = get_infos_instances('tailles_plateaux');
$top_5_joueurs_parties_jouees = get_infos_instances('top_5_joueurs_parties_jouees');
$qualif_joueurs = get_joueurs_qualifs(1);
}
?>

View File

@@ -62,10 +62,16 @@ function get_statistiques()
$requete_stat_globales = "SELECT * FROM stat_globales";
$requete_equipes_top_1 = "SELECT * FROM equipes_top_1";
$requete_participants_tournois_recents = "SELECT * FROM participants_tournois_recents";
$requete_joueurs_au_moins_deux_top_5 = "SELECT * FROM joueurs_au_moins_deux_top_5";
$requete_tailles_plateaux = "SELECT * FROM tailles_plateaux";
$requete_top_5_joueurs_parties_jouees = "SELECT * FROM top_5_joueurs_parties_jouees";
$res_stat_globales = mysqli_query($connexion, $requete_stat_globales);
$res_equipes_top_1 = mysqli_query($connexion, $requete_equipes_top_1);
$res_participants_tournois_recents = mysqli_query($connexion, $requete_participants_tournois_recents);
$res_joueurs_au_moins_deux_top_5 = mysqli_query($connexion, $requete_joueurs_au_moins_deux_top_5);
$res_tailles_plateaux = mysqli_query($connexion, $requete_tailles_plateaux);
$res_top_5_joueurs_parties_jouees = mysqli_query($connexion, $requete_top_5_joueurs_parties_jouees);
if ($res_stat_globales === FALSE || $res_equipes_top_1 === FALSE || $res_participants_tournois_recents === FALSE) {
echo "Erreur d'exécution de la requête SQL : " . mysqli_error($connexion);
@@ -75,11 +81,17 @@ function get_statistiques()
$stat_globales = mysqli_fetch_all($res_stat_globales, MYSQLI_ASSOC);
$equipes_top_1 = mysqli_fetch_all($res_equipes_top_1, MYSQLI_ASSOC);
$participants_tournois_recents = mysqli_fetch_all($res_participants_tournois_recents, MYSQLI_ASSOC);
$joueurs_au_moins_deux_top_5 = mysqli_fetch_all($res_joueurs_au_moins_deux_top_5, MYSQLI_ASSOC);
$tailles_plateaux = mysqli_fetch_all($res_tailles_plateaux, MYSQLI_ASSOC);
$top_5_joueurs_parties_jouees = mysqli_fetch_all($res_top_5_joueurs_parties_jouees, MYSQLI_ASSOC);
return [
'stat_globales' => $stat_globales,
'equipes_top_1' => $equipes_top_1,
'participants_tournois_recents' => $participants_tournois_recents
'participants_tournois_recents' => $participants_tournois_recents,
'joueurs_au_moins_deux_top_5' => $joueurs_au_moins_deux_top_5,
'tailles_plateaux' => $tailles_plateaux,
'top_5_joueurs_parties_jouees' => $top_5_joueurs_parties_jouees,
];
}

View File

@@ -70,7 +70,7 @@ SELECT DISTINCT J.nom, J.prenom FROM joueur J
JOIN classement_individuel CI2 ON J.idjoueur = CI2.idjoueur
JOIN classement C1 ON C1.idclassement = CI1.idclassement
JOIN classement C2 ON C2.idclassement = CI2.idclassement
WHERE CI1.rang >= 5 AND CI2.rang >= 5
WHERE CI1.rang <= 5 AND CI2.rang <= 5
AND C1.portee = "nationale" AND C2.portee = "nationale"
AND CI1.idclassement < CI2.idclassement;

View File

@@ -1,3 +1,4 @@
START TRANSACTION;
-- "un n-uplet contenant le nombre de joueurs, le nombre déquipes, le nombre de classements, le nombre de
-- tournois et la moyenne des participants par tournoi".
CREATE VIEW
@@ -77,7 +78,7 @@ CREATE VIEW
participe
JOIN tournoi USING (idtournoi)
WHERE
YEAR (date_deb) >= (YEAR (NOW()) - 3)
YEAR (date_deb) >= (YEAR (NOW ()) - 3)
GROUP BY
idtournoi
);
@@ -96,8 +97,8 @@ CREATE VIEW
JOIN classement C1 ON C1.idclassement = CI1.idclassement
JOIN classement C2 ON C2.idclassement = CI2.idclassement
WHERE
CI1.rang >= 5
AND CI2.rang >= 5
CI1.rang <= 5
AND CI2.rang <= 5
AND C1.portee = "nationale"
AND C2.portee = "nationale"
AND CI1.idclassement < CI2.idclassement
@@ -213,9 +214,17 @@ CREATE VIEW
);
-- Affiche le nombre de carte par couleur dans le jeu
CREATE VIEW
cartes_jeu AS
SELECT niveau as couleur, COUNT(idcarte) as nombre
FROM carte
GROUP BY niveau
ORDER BY couleur;
CREATE VIEW
cartes_jeu AS (
SELECT
niveau as couleur,
COUNT(idcarte) as nombre
FROM
carte
GROUP BY
niveau
ORDER BY
couleur
);
COMMIT;

View File

@@ -45,6 +45,39 @@
</tbody>
</table>
<h4>les phases de tournoi (nom et année de tournoi, niveau de phase) jouées et pour lesquelles sest qualifié
lutilisateur courant. Le résultat sera trié sur les années selon lordre antéchronologique puis sur les
niveaux de phase selon lordre lexicographique inverse</h4>
<table class="table_resultat">
<thead>
<tr>
<?php
//var_dump($resultats);
foreach ($qualif_joueurs['schema'] as $att) { // pour parcourir les attributs
echo '<th>';
echo $att['nom'];
echo '</th>';
}
?>
</tr>
</thead>
<tbody>
<?php
foreach ($qualif_joueurs['instances'] as $row) { // pour parcourir les n-uplets
echo '<tr>';
foreach ($row as $valeur) { // pour parcourir chaque valeur de n-uplets
echo '<td>' . $valeur . '</td>';
}
echo '</tr>';
}
?>
</tbody>
</table>
<h4>Le nombre déquipes classées premières des classements et dont aucun des membres nest premier dans un
classement individuel</h4>
<table class="table_resultat">