c'est pas bo mais le back fonctionne (normalement ) :D

This commit is contained in:
thaaoblues 2023-06-04 21:22:36 +02:00
parent 299461d12c
commit 19de218bad
6 changed files with 11040 additions and 19 deletions

View file

@ -144,10 +144,9 @@ Le bouléen "est_trouvee" va simplement indiquer si une épreuve est complétée
| :----------- |:------------:|:---------------:|:-----:| | :----------- |:------------:|:---------------:|:-----:|
| id | int(11) | X | | | id | int(11) | X | |
| nom | varchar(50) | | | | nom | varchar(50) | | |
| begin | int(11) | | |
| temps | text | | X | | temps | text | | X |
les identifiants des équipes ne doivent pas bouger, les noms c'est juste pour l'affichage utilisateur et le "begin" est l'étape à laquelle démarre l'équipe, car ils ne démarrent pas tous à la même épreuve ! les identifiants des équipes ne doivent pas bouger, les noms c'est juste pour l'affichage utilisateur.
la colonne temps permet d'enregistrer les temps à chaque étape (en temps unix évidemment). la colonne temps permet d'enregistrer les temps à chaque étape (en temps unix évidemment).

View file

@ -12,13 +12,13 @@ if($user['perm'] < 1) {
// ajout d'une epreuve // ajout d'une epreuve
if(isset($_POST['add_epreuve'])){ if(isset($_POST['add_epreuve'])){
$_POST['est_finale'] = $_POST['est_finale'] == 'true' ? true : false;
$_POST['est_finale'] = $_POST['est_finale'] == 'on' ? true : false;
$req = $db->prepare("INSERT INTO ville_epreuve(indice,reponse,photo,id_equipe,est_finale,ordre,est_trouvee) VALUES(?,?,?,?,?,?,?)"); $req = $db->prepare("INSERT INTO ville_epreuve(indice,reponse,photo,id_equipe,est_finale,ordre,est_trouvee) VALUES(?,?,?,?,?,?,?)");
$req->execute(array(htmlspecialchars($_POST['indice']), $req->execute(array(htmlspecialchars($_POST['indice']),
htmlspecialchars($_POST['reponse']), htmlspecialchars($_POST['reponse']),
'assets/img/ville/'.htmlspecialchars($_POST['photo']), htmlspecialchars($_POST['photo']),
(int)htmlspecialchars($_POST['id_equipe']), (int)htmlspecialchars($_POST['id_equipe']),
(bool)htmlspecialchars($_POST['est_finale']), (bool)htmlspecialchars($_POST['est_finale']),
(int)htmlspecialchars($_POST['ordre']), (int)htmlspecialchars($_POST['ordre']),
@ -33,12 +33,19 @@ if(isset($_POST['add_equipe'])){
$req->execute(array(htmlspecialchars($_POST['nom']),NULL)); $req->execute(array(htmlspecialchars($_POST['nom']),NULL));
} }
// suppression d'une équipe
if(isset($_POST['del_equipe'])){
$req = $db->prepare("DELETE FROM ville_equipe WHERE id=?");
$req->execute(array(htmlspecialchars((int)$_POST['id_ekip'])));
}
//suppression d'une épreuve
if(isset($_POST['del_epreuve'])){
$req = $db->prepare("DELETE FROM ville_epreuve WHERE id=?");
$req->execute(array((int)$_POST['id_epreuve']));
}
/* TODO :
- MODIFIER LES SCRIPTS D'AJOUTS pour intégrer les autres champs
- faire un tableau pour chaque équipe (à défiler)
- faire un tableau récapitulatif des équipes
*/
?> ?>
<!DOCTYPE html> <!DOCTYPE html>
@ -55,7 +62,7 @@ if(isset($_POST['add_equipe'])){
<form method="POST"> <form method="POST">
<input type="text" name="indice" placeholder="indice" class="input_inline"> <input type="text" name="indice" placeholder="indice" class="input_inline">
<input type="text" name="reponse" placeholder="réponse" class="input_inline"> <input type="text" name="reponse" placeholder="réponse" class="input_inline">
<input type="text" name="photo" placeholder="prout.png" class="input_inline"> <input type="text" name="photo" placeholder="image.png" class="input_inline">
<input type="number" name="id_equipe" id="id_equipe" class="input_inline" value="<?= isset($_GET["ekip"]) ? (int)$_GET["ekip"]:1;?>"> <input type="number" name="id_equipe" id="id_equipe" class="input_inline" value="<?= isset($_GET["ekip"]) ? (int)$_GET["ekip"]:1;?>">
<label for="id_equipe">id de l'équipe</label> <label for="id_equipe">id de l'équipe</label>
<input type="radio" name="est_finale" id="est_finale" class="input_inline"> <input type="radio" name="est_finale" id="est_finale" class="input_inline">
@ -98,12 +105,14 @@ if(isset($_POST['add_equipe'])){
<tr> <tr>
<th width="10%">ID (db)</th> <th width="10%">ID (db)</th>
<th width="70%">Indice</th> <th width="70%">Indice</th>
<th width="10%">reponse</th> <th width="10%">Reponse</th>
<th width="10%">photos</th> <th width="10%">Photos</th>
<th width="10%">id_equipe</th> <th width="10%">Id_equipe</th>
<th width="10%">est finale</th> <th width="10%">Est finale</th>
<th width="10%">ordre</th> <th width="10%">Ordre</th>
<th width="10%">est trouvée</th> <th width="10%">Est trouvée</th>
<th width="10%">Action</th>
</tr> </tr>
<?php <?php
@ -120,6 +129,14 @@ if(isset($_POST['add_equipe'])){
<td><?= $epreuve['est_finale'] == 0 ? "non":"oui" ?></td> <td><?= $epreuve['est_finale'] == 0 ? "non":"oui" ?></td>
<td><?= $epreuve['ordre'] ?></td> <td><?= $epreuve['ordre'] ?></td>
<td><?= $epreuve['est_trouvee'] == 0 ? "non":"oui" ?></td> <td><?= $epreuve['est_trouvee'] == 0 ? "non":"oui" ?></td>
<td>
<form method="POST">
<input type="text" name="del_epreuve" value="del_epreuve" hidden>
<input type="number" value="<?=$epreuve['id']?>" name="id_epreuve" hidden>
<input type="submit" value="supprimer">
</form>
</td>
</tr> </tr>
<?php } ?> <?php } ?>
</table> </table>

View file

@ -10,6 +10,20 @@ section {
margin-top: 40px; margin-top: 40px;
} }
.btn_equipe{
background-color: #ad7015;
color: #ffffff;
padding: 10px 20px 10px 20px;
border-top: 1px solid #CCCCCC;
border-right: 1px solid #333333;
border-bottom: 1px solid #333333;
border-left: 1px solid #CCCCCC;
margin-top: 30px;
border-radius: 10px;
}
a.team { a.team {
display: block; display: block;
color: black; color: black;

File diff suppressed because it is too large Load diff

After

Width:  |  Height:  |  Size: 259 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 162 KiB

View file

@ -4,7 +4,7 @@ include "assets/fonts/color.php";
include "script/db.php"; include "script/db.php";
include "script/globals.php" include "assets/scripts/globals.php"
?> ?>
@ -15,7 +15,7 @@ include "script/globals.php"
/* principe de fonctionnement : /* principe de fonctionnement :
1. si ?team=int est dans la requête GET 1. si ?ekip=int est dans la requête GET
- on vérifie que l'équipe existe - on vérifie que l'équipe existe
- si l'équipe n'a pas démarrée, mettre un bouton play pour démarrer la session - si l'équipe n'a pas démarrée, mettre un bouton play pour démarrer la session
- sinon, on affiche l'énigme courante (ordre+1 de la dernière trouvée) - sinon, on affiche l'énigme courante (ordre+1 de la dernière trouvée)
@ -34,8 +34,201 @@ include "script/globals.php"
*/ */
if(isset($_POST["reponse"])){
$ekip = (int)$_POST["ekip"];
// on chope la première énigme non trouvée
$req = $db->prepare("SELECT * FROM ville_epreuve WHERE id_equipe=? AND est_trouvee=0");
$req->execute(array($ekip));
$result = $req->fetch();
// si c'est la bonne réponse
if($result['reponse']===$_POST['reponse']){
$req = $db->prepare("UPDATE ville_epreuve SET est_trouvee=1 WHERE id_equipe=? AND est_trouvee=0 and id=?");
$req->execute(array($ekip,$result['id']));
//si en plus c'est la dernièr, on sort la ptite photo <3
// et on met fin au temps de l'équipe
if($result["est_finale"]){
$req = $db->prepare("SELECT temps FROM ville_equipe WHERE id=?");
$req->execute(array($ekip));
$tps_depart = (int)$req->fetch()['temps'];
$req = $db->prepare("UPDATE ville_equipe SET temps=? WHERE id=?");
$req->execute(array(time()-$tps_depart,$ekip));
header("Location: com_ville.php?ekip=".$ekip);
}
}
}
if(isset($_POST["declencheur_depart"])){
$ekip = (int)$_POST["id_equipe"];
// on stoque le temps où l'équipe part
$req = $db->prepare("UPDATE ville_equipe SET temps=? WHERE id=?");
$req->execute(array(time(),$ekip));
}
if(isset($_GET["ekip"])){
$ekip = (int)$_GET["ekip"];
// check si l'équipe existe
$req = $db->prepare("SELECT * FROM ville_equipe WHERE id=?");
$req->execute(array($ekip));
$result = $req->fetch();
// reload sans param si elle existe pas
if(empty($result)){
header("Location: com_ville.php");
}
// avant tout, si l'équipe a un temps nul, on affiche un message de départ
if($result['temps'] === null){
?>
<div class="zone_txt">
<h2>Chauds pour un ptit tour de la ville les copinous(ettes) ?</h2>
<form method="POST">
<input type="number" name="id_equipe" value="<?= $ekip ?>" hidden>
<input class="btn-depart" type="submit" name="declencheur_depart" value="Jouer">
</form>
</div>
<?php
}else{
// on chope la première énigme non trouvée
$req = $db->prepare("SELECT * FROM ville_epreuve WHERE id_equipe=? AND est_trouvee=0");
$req->execute(array($ekip));
$result = $req->fetch();
// si yen a pas, on met le message d'arrivée
if(empty($result)){
//message d'arrivée
// calcul du temps
$req = $db->prepare("SELECT temps,nom FROM ville_equipe WHERE id=?");
$req->execute(array($ekip));
$result = $req->fetch();
$heures = intdiv((int)$result['temps'],24);
$minutes = intdiv((((int)$result['temps'])%24),60);
$secondes = ((((int)$result['temps'])%24)%60);
?>
<div class="zone_txt">
<h2>BRAVO <?=$result['nom']?> VOUS AVEZ FINI !!!!</h2>
<h2><br> Temps : <?=$heures?>h <?=$minutes?>min <?=$secondes?>s</h2>
</div>
<?php
}else{
// cas de base, on affiche les différents trucs de l'énigme
?>
<div class="zone_txt">
<h2>Epreuve :<h2>
<h3><?= $result['indice']?><h3>
<img src="/assets/img/com_ville/<?=$result['photo']?>">
<?php
if($result['est_finale']==1){
?>
<h5>C'est la dernière épreuve !!!</h5>
<?php
}
?>
<form method="POST">
<input type="number" name="ekip" value="<?= $ekip?>" hidden>
<input type="text" id="reponse" name="reponse">
<input type="submit" value="soumettre la réponse">
</form>
</div>
<?php
}
}
}else{
?> ?>
<div class="zone_txt">
<h1>Com'Ville :D<br> Choisis ton équipe !<h1>
<?php
$req = $db->query("SELECT * FROM ville_equipe");
while($equipe = $req->fetch()){
echo "<a class=\"btn_equipe\" href=\"?ekip=".$equipe['id']."\">".$equipe['nom']."</a><br>";
}
?>
</div>
<?php } ?>
</main> </main>