Bonjour,
Notre club de sport souhaite, pour la saison prochaine, faire évoluer sa prise de présence des joueurs de chaque catégorie. Actuellement, c'est une prise de présence via excell où ils cochent une case en fonction du nom et de la date. Certains entraîneurs ont parfois des soucis pour renvoyer le fichier depuis leur smartphone. Un espace sur notre site serait dédié aux entraîneurs avec login et mot de passe pour la prise des présences.
J'ai pas mal codé pour mon site et usage perso sur la base de PHPBB il y a 16 ans passé, et jusqu'en 2015 et j'avoue que les notions ont peu à peu disparu depuis.
Pour ces présences, j'ai créé une base de données intitulée 20222023, et une première table inscrits où on retrouve tous nos joueurs, leur nom, prénom, catégorie, date d'inscription, periode d essai, date de debut d'essai... et tout cela avec une clé id primaire avec auto-incrément.
Voici ce à quoi j'ai pensé et travaille pour le moment en local :
Pour le formulaire des présences de chaque catégorie, je vais chercher l'id du joueur, son nom, prénom et sa catégorie. Quelqu'un appelant la page U8 par exemple aura les joueurs .. U8.
A côté de leur nom et prénom, figure une case à cocher pour dire s'ils sont présents à l'entrainement ce jour.
Et c'est là que cela coince... je ne sais plus comment faire remonter les joueurs présents (et donc la ligne avec la case cochée) via le formulaire que je nommerai "action.php" pour le moment.
La table où seront insérés chaque joueur s'appelle présence et reprend leur id, leur nom, prénom et la date de chaque entraînement où ils seront présents.
Voici le code de la page "U8" actuel, qui reprend le SELECT de la table inscrits sur la base 20222023 et la création du formulaire :
A partir d'ici, je reprends les données du formulaire comme je faisais avant mais cela bloque.. j'ai souvent fait des formulaires mais pas à choix multiples. Et j'ai des erreurs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 // Create connection $conn = mysqli_connect($servername, $username, $password, $dbname); // Check connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } $i = '0'; // compte les joueurs echo '<br /><hr>PRESENCES U8<br /><form name"u5u6" method="post" action ="action.php">'; $sql = "SELECT id, categorie, nom, prenom FROM inscrits WHERE categorie = 'U8' ORDER BY name ASC"; // sélectionne les joueurs selon leur nom ascendant. $result = mysqli_query($conn, $sql); if (mysqli_num_rows($result) > 0) { // output data of each row while($row = mysqli_fetch_assoc($result)) { $i=$i+1; echo $i . " - " . $row["categorie"]. " ". $row["nom"]. " " . $row["prenom"]. " <input type = \"checkbox\" name=\"presence\" id=\"".$row["nom"]."\" value=\"".$row["id"]."\"> <br />"; } } else { echo "0 joueurs."; } echo "<input type = \"submit\"> </form>"; mysqli_close($conn);
Quelle serait la requête pour que chaque joueur coché soit enregistré dans la table presences avec son id, prénom, nom, et la date de l'entrainement ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $id = isset($_POST['presence']) ? $_POST['presence'] : 'Pas de presence spécifié'; $nom = isset($_POST['nom']) ? $_POST['nom'] : 'Pas de nom spécifié'; $prenom = isset($_POST['prenom']) ? $_POST['prenom'] : 'Pas de prenom spécifié';
Y aurait-il un autre moyen auquel je ne pense pas ?
Le code n'est certainement pas optimisé mais je le ferai au fur et à mesure, je reprends ici quelques passages d'anciens codes utilisés.
Partager