Update form class in tables_vue.php, header.php, accueil_vue.php, parties_controleur.php, modele.php, statistiques_controleur.php, and parties_vue.php

This commit is contained in:
2024-04-18 23:41:03 +02:00
parent 6bbaf30f26
commit 922e7ecbae
12 changed files with 295 additions and 69 deletions

View File

@@ -2,6 +2,10 @@
$message = "";
/***********************************/
/* Récupération des parties en cours */
/***********************************/
$partiestotal = get_parties_venir_cours();
if ($partiestotal == null || count($partiestotal) == 0) {
@@ -16,6 +20,10 @@ if ($partiestotal == null || count($partiestotal) == 0) {
$messageterminee = "";
/***********************************/
/* Récupération des parties terminées */
/***********************************/
$partiesterm = get_parties_terminees();
if ($partiesterm == null || count($partiesterm) == 0) {

View File

@@ -1,10 +1,17 @@
<?php
$message = "";
// recupération de la liste des tables
/***********************************/
/* Récupération des statistiques */
/***********************************/
$stats = get_statistiques();
function get_joueurs_qualifs(int $id){
function get_joueurs()
{
return get_infos_requete("SELECT * FROM joueur")['instances'];
}
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)
@@ -18,12 +25,16 @@ if ($stats == null || count($stats) == 0) {
$message .= "Aucune statistique n'est disponible!";
} else {
/***********************************/
/* Instances des vues des statistiques */
/***********************************/
$stat_globales = get_infos_instances('stat_globales');
$equipes_top_1 = get_infos_instances('equipes_top_1');
$participants_tournois_recents = get_infos_instances('participants_tournois_recents');
$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

@@ -8,14 +8,17 @@ nav,
main,
footer {
padding: 1em 0;
border-radius: 1em;
margin-top: 1em;
}
header {
display: flex;
justify-content: flex-start;
background-color: white;
background-color: lightgrey;
color: black;
text-align: center;
border-radius: 2em;
}
.header_titre {
@@ -35,7 +38,7 @@ header {
display: flex;
justify-content: space-between;
margin: auto;
border: 4px solid gray;
border: 4px solid darkgreen;
border-radius: 1em;
box-sizing: border-box;
height: 100%;
@@ -43,16 +46,40 @@ header {
nav {
display: flex;
justify-content: space-around;
background-color: gray;
justify-content: space-evenly;
background-color: white;
padding-left: 1em;
padding-right: 1em;
line-height: 2em;
border-radius: 1em;
margin: inherit;
}
main {
background-color: lightgrey;
padding-left: 1em;
display: flex;
flex-direction: column;
overflow-y: auto;
}
a:link {
color: black;
}
/* visited link */
a:visited {
color: green;
}
/* mouse over link */
a:hover {
color: rgb(105, 140, 255);
}
/* selected link */
a:active {
color: blue;
}
p {
@@ -68,6 +95,13 @@ footer {
background-color: white;
}
input {
width: 10%;
padding: 10px;
margin: 15px;
border-radius: 1em;
}
.notification {
background-color: #ffffe6;
margin: 1em;
@@ -88,7 +122,8 @@ footer {
}
.panneau_details {
display: flex;
display: flex-root;
flex-direction: column;
justify-content: center;
width: 100%;
overflow-y: auto;
@@ -112,7 +147,22 @@ footer {
.unecarte {
display: inline-block;
background-color: tomato;
}
.plateau {
background-color: green;
border-radius: 2em;
display: inline-flex;
padding: 20px 50px 20px 50px;
}
p .joueur {
margin: 0.5em 0;
padding: 0.5em;
background-color: white;
border: 1px solid gray;
display: table;
border-radius: 1em;
}
.panneau_details>div {
@@ -147,6 +197,11 @@ footer {
background-color: white;
}
select {
margin: 1em;
padding: 1em;
}
.bloc_commandes {
display: flex;
flex-direction: column;
@@ -177,3 +232,60 @@ footer {
.bloc_commandes>select:hover {
cursor: pointer;
}
.bloc_commandes_sans_flex {
border: 1px solid gray;
border-radius: 2em;
background-color: white;
margin-left: 5%;
margin-bottom: 1em;
padding: 10px 10px 10px 10px;
width: 90%;
}
.bloc_commandes>input[type="submit"] {
width: 15%;
font-size: 1.2em;
margin-left: 4%;
}
.bloc_commandes>select {
width: 30%;
font-size: 1.2em;
margin-left: 1%;
margin-right: 1%;
text-align: center;
}
.bloc_commandes>input[type="submit"]:hover,
.bloc_commandes>select:hover {
cursor: pointer;
}
.grand_input {
width: 20%;
padding: 10px;
margin: 15px;
}
.en_ligne {
display: inline-flex;
}
.en_ligne_suite {
display: block ruby;
}
.joueurs {
display: flex;
flex-direction: initial;
justify-content: center;
}
#demotext {
color: rgb(255, 255, 255);
text-shadow: rgb(255, 255, 255) 0px 0px 5px, rgb(255, 255, 255) 0px 0px 10px, rgb(255, 255, 255) 0px 0px 15px, rgb(73, 255, 24) 0px 0px 20px, rgb(73, 255, 24) 0px 0px 30px, rgb(73, 255, 24) 0px 0px 40px, rgb(73, 255, 24) 0px 0px 55px, rgb(73, 255, 24) 0px 0px 75px;
--darkreader-inline-color: #e8e6e3;
--darkreader-inline-bgcolor: #1a1d1e;
--darkreader-inline-bgimage: none;
}

View File

@@ -95,6 +95,9 @@ function get_statistiques()
];
}
/***********************************/
/* Récupération des parties à venir et des parties en cours */
/***********************************/
function get_parties_venir_cours()
{
global $connexion;
@@ -123,6 +126,9 @@ function get_parties_venir_cours()
];
}
/***********************************/
/* Récupération des parties terminées avec les différentes variantes, récentes et rapides */
/***********************************/
function get_parties_terminees()
{
global $connexion;
@@ -312,7 +318,9 @@ function executer_une_requete(string $requete)
/***********************************/
/* fonction de débug */
/***********************************/
function debug_log(string $msg)
{

View File

@@ -1,19 +1,15 @@
<!-- Bloc entête -->
<header>
<div class="header_logo">
<a href="./index.php">
<img src="img/deezcyclelogo.png" alt="BD" />
</a>
</div>
<div class="header_titre">
<div id="demotext" class="header_titre">
<h1>DeezCycle</h1>
<h2>Jeu de dés</h2>
</div>
</header>

View File

@@ -1,6 +1,5 @@
<main>
<p>
<h3>Bienvenue dans DeezCycle!</h3>
Découvrez un jeu de dés stratégique vous incarnez un cycliste tentant de franchir la ligne d'arrivée en premier
@@ -30,6 +29,4 @@
Prêt à relever le défi? Rejoignez dès maintenant DeezCycle et montrez vos compétences de cycliste. Le parcours
vous attend!
Peux-tu m'ajouter cette description avec les bonnes balises etc ?</p>
</main>

View File

@@ -1,5 +1,9 @@
<?php
/***********************************/
/* Classe des couleurs exactes des pions (images fournies) pour les assigner au joueur
/* pour qu'il sache quelle couleur de pion il a
/***********************************/
class CouleurPion
{
public $couleurs = [
@@ -14,7 +18,9 @@ class CouleurPion
];
}
/***********************************/
/* Pour la création de la partie, fonction permettant de choisir les cartes du plateau */
/***********************************/
function champs_cartes($nom, $titre)
{
@@ -43,6 +49,9 @@ function champs_cartes($nom, $titre)
return (int) 0;
}
/***********************************/
/* Formulaire de saisie des cartes du plateau */
/***********************************/
function afficher_formulaire()
{
$total = 0;
@@ -67,10 +76,14 @@ function afficher_formulaire()
echo '</form>';
}
/***********************************/
/* Afficher les joueurs lors de la création de la partie avec leur nom en couleur en adéquation
/* avec la couleur de leur pion
/***********************************/
function afficher_joueurs(int $idpartie)
{
$joueurs = getJoueursPartie($idpartie);
echo '<div>';
echo '<div class="joueurs">';
echo '<p>Joueurs : </p>';
for ($i = 0; $i < count($joueurs); $i++) {
$joueur = $joueurs[$i];
@@ -80,6 +93,10 @@ function afficher_joueurs(int $idpartie)
echo '</div>';
}
/***********************************/
/* Formulaire d'ajouts de joueurs lors de la création d'une partie, il ne faut pas sélectionner deux fois le même joueur
/* Pas plus de 8 joueurs par partie
/***********************************/
function formulaire_ajout_joueurs(int $idpartie)
{
$joueursPartie = getJoueursPartie($idpartie);
@@ -99,6 +116,9 @@ function formulaire_ajout_joueurs(int $idpartie)
echo '</form>';
}
/***********************************/
/* Formulaire permettant d'exclure un joueur lors de la création d'une partie */
/***********************************/
function formulaire_suppression_joueurs(int $idpartie)
{
$joueurs = getJoueursPartie($idpartie);
@@ -116,6 +136,9 @@ function formulaire_suppression_joueurs(int $idpartie)
echo '</form>';
}
/***********************************/
/* Formulaire pour choisir la stratégie de la partie */
/***********************************/
function formulaire_ordre_joueurs(int $idpartie)
{
echo '<form class="enlever_joueurs_partie" method="post" action="#">';
@@ -169,7 +192,12 @@ function formulaire_ordre_joueurs(int $idpartie)
} else if (isset($_POST['validerOrdre'])) {
$idpartie = (int) $_POST['idpartie'];
valider_partie($_POST['idpartie'], $_POST['ordre']);
echo '<a href="index.php?page=jouerPartie&idpartie=' . $idpartie . '">Jouer la partie</a>';
echo '<h1>Partie n°' . $idpartie . ' prête à être jouée</h1>';
echo '<div id="demotext">';
echo '<h2> Cliquer sur le lien ci-dessous pour jouer la partie !</h2>';
echo '</div>';
echo '<a href="index.php?page=jouerPartie&idpartie=' . $idpartie . '">Partie n°' . $idpartie . '</a>';
} else {
afficher_formulaire();

View File

@@ -1,8 +1,16 @@
<?php
/***********************************/
/* Pour le lien hypertexte fonctionnalité 1 */
/***********************************/
/***********************************/
/* Afficher le triplet de cartes pour une partie finie */
/***********************************/
function afficherTriplets(int $idplateau)
{
$triplets = get_triplet_cartes($idplateau);
echo '<div id="triplets">';
echo '<div class="en_ligne_suite" id="triplets">';
echo '</br>';
echo '<p>Cartes:</p>';
echo '<p>Cartes vertes: ' . $triplets['nb_verte'] . '</p>';
@@ -11,17 +19,21 @@ function afficherTriplets(int $idplateau)
echo '</div>';
}
/***********************************/
/* Afficher le rang et le pseudo des joueurs de la partie */
/***********************************/
function afficherRangPseudo(int $idpartie)
{
$rang = get_rang($idpartie);
$pseudo = get_pseudos($idpartie);
echo '<div id="rangPseudo">';
echo '<div class="en_ligne_suite" id="Joueurs">';
echo '</br>';
echo '<p>Joueurs:</p>';
foreach ($pseudo as $p) {
echo '<p>Pseudo: ' . $p['pseudo'] . '</p>';
}
echo '</br>';
echo '</div>';
echo '<div class="en_ligne_suite" id="Classement">';
echo '<p>Classement:</p>';
foreach ($rang as $r) {
echo '<p>Pseudo: ' . $r['pseudo'] . '</p>';
@@ -30,16 +42,6 @@ function afficherRangPseudo(int $idpartie)
}
echo '</div>';
}
function afficherPseudo(int $idpartie)
{
$pseudo = get_pseudos($idpartie);
echo '<div id="pseudo">';
foreach ($pseudo as $p){
echo '<p>Pseudo: ' . $p['pseudo'] . '</p>';
}
echo '</div>';
}
?>
<div class="panneau_details_2">
@@ -51,7 +53,7 @@ function afficherPseudo(int $idpartie)
<tbody>
<?php
$donnees = ['idpartie', 'date_partie', 'horaire', 'taille'];
echo '<div id="partieDetails">';
echo '<div class="en_ligne" id="partieDetails">';
foreach ($donnees as $donnee) {
if (isset($_GET[$donnee])) {
echo '<p>' . $donnee . ': ' . $_GET[$donnee] . '</p>';

View File

@@ -1,4 +1,10 @@
<?php
/***********************************/
/* Classe des couleurs exactes des pions (images fournies) pour les assigner au joueur
/* pour qu'il sache quelle couleur de pion il a
/***********************************/
class CouleurPion
{
public $couleurs = [
@@ -12,6 +18,11 @@ class CouleurPion
'ff0000'
];
}
/***********************************/
/* Affichage des pions des joueurs lors du déroulé de la partie*/
/***********************************/
function afficher_pions($joueurs)
{
foreach ($joueurs as $joueur) {
@@ -19,19 +30,25 @@ function afficher_pions($joueurs)
}
}
/***********************************/
/* Affichage des joueurs lors du déroulé de la partie */
/***********************************/
function afficher_joueurs(int $idpartie)
{
$joueurs = getJoueursPartie($idpartie);
echo '<div>';
echo '<div class="joueurs">';
echo '<p>Joueurs : </p>';
for ($i = 0; $i < count($joueurs); $i++) {
$joueur = $joueurs[$i];
$couleur_hex = (new CouleurPion())->couleurs[$i];
echo '<p style="color:#' . $couleur_hex . ';">' . $joueur['pseudo'] . " (" . $joueur['prenom'] . " " . $joueur['nom'] . ')</p>';
echo '<p class="joueur" style="color:#' . $couleur_hex . ';">' . $joueur['pseudo'] . " (" . $joueur['prenom'] . " " . $joueur['nom'] . ')</p>';
}
echo '</div>';
}
/***********************************/
/* Affichage d'une carte du plateau*/
/***********************************/
function afficherCarte(string $nomcarte, int $numero, $joueurs): void
{
echo '<div class="unecarte">';
@@ -45,21 +62,30 @@ function afficherCarte(string $nomcarte, int $numero, $joueurs): void
echo '</div>';
}
/***********************************/
/* Affichage de la carte de départ*/
/***********************************/
function afficher_depart($joueurs): void
{
afficherCarte("carteDépart.png", 0, $joueurs);
}
/***********************************/
/* Affichage la carte d'arrivée */
/***********************************/
function afficher_arrivee(): void
{
afficherCarte("carteArrivée.png", 13, []);
}
/***********************************/
/* Affichage de toutes les cartes du plateau */
/***********************************/
function afficherCartes(int $idpartie, int $tour): void
{
$cartes = getCards($idpartie);
echo '<div>';
echo '<div class="plateau">';
if ($tour == 0) {
afficher_depart(getJoueursPartie($idpartie));
for ($i = 0; $i < sizeof($cartes); $i++) {
@@ -75,6 +101,9 @@ function afficherCartes(int $idpartie, int $tour): void
echo '</div>';
}
/***********************************/
/* Formulaire de sélection de la partie à jouer */
/***********************************/
function formulaire_selection_partie()
{
$parties = get_parties_id();
@@ -88,6 +117,9 @@ function formulaire_selection_partie()
echo '</form>';
}
/***********************************/
/* Formulaire pour lancer la partie */
/***********************************/
function formulaire_lancer_partie(int $idpartie)
{
echo '<form class="lancer_partie" method="post" action="#">';
@@ -96,6 +128,9 @@ function formulaire_lancer_partie(int $idpartie)
echo '</form>';
}
/***********************************/
/* Formulaire de sélection de la main composée de 6 dés */
/***********************************/
function formulaire_selection_des_main(int $idpartie)
{
echo '<form action="#" method="post">
@@ -122,8 +157,6 @@ function formulaire_selection_des_main(int $idpartie)
<div class="panneau_details_3">
<div>
<h2>Jouer une partie</h2>
<?php
$idpartie = -1;
@@ -142,7 +175,9 @@ function formulaire_selection_des_main(int $idpartie)
if (isset($_POST['lancerPartie'])) {
lancer_partie($idpartie);
}
afficher_joueurs($idpartie);
afficherCartes($idpartie, get_parties_tour($idpartie));
if (partie_est_a_venir($idpartie)) {
formulaire_lancer_partie($idpartie);

View File

@@ -3,14 +3,14 @@
<h2>Affichage des parties</h2>
<form class="bloc_commandes" method="post" action="#">
<form class="bloc_commandes_sans_flex" method="post" action="#">
<label for="boutonAfficher">Voir Parties</label>
<?php
$selection = 1;
if (isset($_POST['selectparty'])) {
$selection = (int) $_POST["selectparty"];
}
echo '<label for="boutonAfficher">Voir Parties</label>';
echo '<select id="selectpartie" name="selectparty">';
for ($i = 1; $i <= 50; $i++) {
echo '<option value="' . $i . '"';
@@ -23,8 +23,12 @@
?>
<input type="submit" name="boutonAfficher" value="Afficher" />
<input type="submit" name="boutonAfficherAVenir" value="A venir" />
<input type="submit" name="boutonAfficherEnCours" value="En cours" />
</br>
<input class="grand_input" type="submit" name="boutonAfficherAVenir"
value="Cliquez ici pour afficher les parties à venir" />
<input class="grand_input" type="submit" name="boutonAfficherEnCours"
value="Cliquez ici pour afficher les parties en cours" />
</br>
<tbody>
<?php
@@ -39,8 +43,9 @@
$url .= 'taille=12';
echo '<a href="' . $url . '" target="_blank">' . "Afficher les détails de la partie" . '</a>';
} else {
echo "<h1>Selectionnez une partie !</h1>";
}
if (!isset($_POST['boutonAfficherAVenir']) && !isset($_POST['boutonAfficherEnCours']) && !isset($_POST['boutonAfficherPartiesTerminees']) && !isset($_POST['boutonAfficher'])) {
echo '<h2>Choisissez une option pour afficher les parties</h2>';
}
?>
<?php if ($message != "") { ?>
@@ -119,7 +124,7 @@
<form class="bloc_commandes" method="post" action="#">
<form class="bloc_commandes_sans_flex" method="post" action="#">
<label>Rechercher une partie terminée</label>
<select id="selectpartieterminee" name="selectpartyterminee">
<option value="toutes">Toutes les parties terminées</option>

View File

@@ -45,20 +45,37 @@
</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
<h4>Les phases de tournoi (nom et année de tournoi, niveau de phase) jouées et pour lesquelles sest qualifié
lutilisateur choisi. Le résultat sera trié sur les années selon lordre antéchronologique puis sur les
niveaux de phase selon lordre lexicographique inverse</h4>
<form class="joueur" method="post">
<label for="joueur">Choisir un joueur :</label>
<select name="idjoueur" id="joueur">
<?php
$joueurs = get_joueurs();
foreach ($joueurs as $joueur) {
echo '<option value="' . $joueur['idjoueur'] . '">' . $joueur['pseudo'] . '</option>';
}
?>
</select>
<input type="submit" name="afficherQualifs" value="Afficher les qualifications" />
</form>
<table class="table_resultat">
<thead>
<tr>
<?php
$id = null;
$qualifs = null;
if (isset($_POST['afficherQualifs'])) {
$id = $_POST['idjoueur'];
$qualifs = get_joueurs_qualifs($id);
//var_dump($resultats);
foreach ($qualif_joueurs['schema'] as $att) { // pour parcourir les attributs
foreach ($qualifs['schema'] as $att) { // pour parcourir les attributs
echo '<th>';
echo $att['nom'];
echo '</th>';
}
}
?>
</tr>
@@ -66,18 +83,25 @@
<tbody>
<?php
foreach ($qualif_joueurs['instances'] as $row) { // pour parcourir les n-uplets
if ($qualifs !== null) {
if (empty($qualifs['instances'])) {
echo '<tr><td colspan="' . count($qualifs['schema']) . '">Aucune qualification trouvée</td></tr>';
} else {
foreach ($qualifs['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">

View File

@@ -41,7 +41,7 @@
<h2>Détails d'une table</h2>
<form class="bloc_commandes" method="post" action="#">
<form class="bloc_commandes_sans_flex" method="post" action="#">
<label for="typeVueTable">Voir</label>
<select name="typeVue" id="typeVue">