Disponibilités Suivant Les Jours et Les Heures
Résolu/Fermé
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
-
26 nov. 2017 à 20:19
jordane45 Messages postés 38300 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 novembre 2024 - 11 mai 2018 à 22:58
jordane45 Messages postés 38300 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 novembre 2024 - 11 mai 2018 à 22:58
A voir également:
- Disponibilités Suivant Les Jours et Les Heures
- Compte facebook suspendu 180 jours - Guide
- Compte instagram suspendu 180 jours - Guide
- Mettre a jour les pilotes - Guide
- 24 heures chrono torrent magnet ✓ - Forum Cinéma / Télé
14 réponses
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
Ambassadeur
1 551
Modifié le 26 nov. 2017 à 21:45
Modifié le 26 nov. 2017 à 21:45
bonsoir,
pourrais-tu expliquer ce que contient ta base de données? je vois 4 colonnes, id_even, jour_1, jour_2 et jour_3. que contiennent ces champs?
qu'essaies-tu d'obtenir?
montrer ton code n'est pas une bonne façon de nous faire comprendre ce que tu veux obtenir: ton code est peut-être incorrect, ou difficile à comprendre.
merci de nous expliquer pourquoi tu fais cela.
quand tu écris "j'ai un tableau avec", que veux-tu dire? c'est ce que tu obtiens, tu veux autre chose, c'est ce qu'il y a dans ta base, ?
en passant: il est inutile de faire plusieurs fois des prepare pour la même requête. fais plutôt:
pourrais-tu expliquer ce que contient ta base de données? je vois 4 colonnes, id_even, jour_1, jour_2 et jour_3. que contiennent ces champs?
qu'essaies-tu d'obtenir?
montrer ton code n'est pas une bonne façon de nous faire comprendre ce que tu veux obtenir: ton code est peut-être incorrect, ou difficile à comprendre.
merci de nous expliquer pourquoi tu fais cela.
quand tu écris "j'ai un tableau avec", que veux-tu dire? c'est ce que tu obtiens, tu veux autre chose, c'est ce qu'il y a dans ta base, ?
en passant: il est inutile de faire plusieurs fois des prepare pour la même requête. fais plutôt:
$p_jour1 = $bdd->prepare($sql_J_1); $p_jour2 = $bdd->prepare($sql_J_2); $p_jour3 = $bdd->prepare($sql_J_3); $p_jour1->execute(array($_SESSION['id_sondage'], "Lundi")); $nbr_L1 = $p_jour1->RowCount(); $p_jour2->execute(array($_SESSION['id_sondage'], "Lundi")); $nbr_L2 = $p_jour2->RowCount(); $p_jour3->execute(array($_SESSION['id_sondage'], "Lundi")); $nbr_L3 = $p_jour2->RowCount(); $p_jour1->execute(array($_SESSION['id_sondage'], "Mardi")); $nbr_M1 = $p_jour1->RowCount(); $p_jour2->execute(array($_SESSION['id_sondage'], "Mardi")); $nbr_M2 = $p_jour2->RowCount(); $p_jour3->execute(array($_SESSION['id_sondage'], "Mardi")); $nbr_M3 = $p_jour2->RowCount();
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
Ambassadeur
1 551
26 nov. 2017 à 21:47
26 nov. 2017 à 21:47
je te propose de tester ceci:
session_start(); include_once "SQL/cobdd.php"; if(isset($_SESSION['statut'])){ if($_SESSION['statut'] != 3){ header("Location: index.php"); } } if(isset($_SESSION['id_sondage'])){ $sql_J = "SELECT count(*) as cjour, jour FROM ( SELECT id_even, jour_1 as jour FROM participation_user UNION ALL SELECT id_even, jour_2 FROM participation_user UNION ALL SELECT id_even, jour_3 FROM participation_user ) WHERE id_even = ? GROUP by jour" // participants par jour $req_pjour = $bdd->prepare($sql_J); $req_pjour->execute(array($_SESSION['id_sondage'])); $result_pjour=$req_pjour->fetchAll(); foreach ($result_pjour as $unjour) { echo $unjour['cjour'] . " personne(s) le " . $unjour['jour'] . "<br>"; } }
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
Ambassadeur
1 551
26 nov. 2017 à 21:55
26 nov. 2017 à 21:55
tu voudrais un tableau pour un sondage donné, qui donne pour chaque heure de chaque jour, le nombre de personnes disponibles?
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
21
28 nov. 2017 à 21:41
28 nov. 2017 à 21:41
Oui tous a fait cela afin d'organiser un élément suivant le nombre maximum de personnes par rapport a la tranche d'heure
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
21
28 nov. 2017 à 21:52
28 nov. 2017 à 21:52
Voila donc j'ai essayer ce que vous m'avez mis, et donc je tombe sur ce message d'erreur :
Pourtant quand je relis votre code vous crée un alias même si je comprend pas le cjour dans la variable $sql_J.
Voila pour les nouvelles je vais regarder de mon coté pourquoi j'ai ce message d'erreur je trouverai surement :)
Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1248 Every derived table must have its own alias in /Applications/MAMP/htdocs/ProjetWWW/admin_event.php:22 Stack trace: #0 /Applications/MAMP/htdocs/ProjetWWW/admin_event.php(22): PDOStatement->execute(Array) #1 {main} thrown in /Applications/MAMP/htdocs/ProjetWWW/admin_event.php on line 22
Pourtant quand je relis votre code vous crée un alias même si je comprend pas le cjour dans la variable $sql_J.
Voila pour les nouvelles je vais regarder de mon coté pourquoi j'ai ce message d'erreur je trouverai surement :)
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
1 551
>
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
28 nov. 2017 à 22:01
28 nov. 2017 à 22:01
peut-être ainsi?
SELECT count(*) as cjour, jour FROM ( SELECT id_even, jour_1 as jour FROM participation_user UNION ALL SELECT id_even, jour_2 FROM participation_user UNION ALL SELECT id_even, jour_3 FROM participation_user ) as tout WHERE id_even = ? GROUP by jour
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
21
28 nov. 2017 à 22:21
28 nov. 2017 à 22:21
Et j'aimerai savoir sur cette partie la :
SELECT id_even, jour_1 as jour FROMPourquoi avez vous mis un alias et pas aux autre plus bas ?
SELECT id_even, jour_2 FROM participation_user
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
1 551
>
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
28 nov. 2017 à 22:24
28 nov. 2017 à 22:24
parce que dans une UNION, c'est le premier select qui détermine les noms des champs retournés.
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
21
28 nov. 2017 à 22:19
28 nov. 2017 à 22:19
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
1 551
28 nov. 2017 à 22:31
28 nov. 2017 à 22:31
et ainsi?
SELECT count(*) as cjour, jour FROM ( SELECT id_even, jour_1 as jour FROM participation_user WHERE jour_1 IS NOT NULL UNION ALL SELECT id_even, jour_2 FROM participation_user WHERE jour_2 IS NOT NULL UNION ALL SELECT id_even, jour_3 FROM participation_user WHERE jour_3 IS NOT NULL ) as tout WHERE id_even = ? GROUP by jour ORDER by jour
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
21
28 nov. 2017 à 22:52
28 nov. 2017 à 22:52
Magnifique, donc sais dans le même type de développement que je dois ajouter mes heures par rapport aux jours ?
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
1 551
>
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
Modifié le 29 nov. 2017 à 00:36
Modifié le 29 nov. 2017 à 00:36
je propose ceci pour ajouter les heures:
- d'abord tu crées une table, appelée periodes qui a deux champs de type time. les champs sont appelés heure_deb et heure_fin. tu enregistres dans cette table une ligne par période que tu veux voir dans le rapport. par exemple, une ligne avec heure_deb = 9h et heure_fin= 10h
- tu essaies ceci:
- d'abord tu crées une table, appelée periodes qui a deux champs de type time. les champs sont appelés heure_deb et heure_fin. tu enregistres dans cette table une ligne par période que tu veux voir dans le rapport. par exemple, une ligne avec heure_deb = 9h et heure_fin= 10h
- tu essaies ceci:
session_start(); include_once "SQL/cobdd.php"; if(isset($_SESSION['statut'])){ if($_SESSION['statut'] != 3){ header("Location: index.php"); } } if(isset($_SESSION['id_sondage'])){ $sql = "SELECT count(*) as cjour, jour, heure_deb, heure_fin FROM ( SELECT id_even, jour_1 as jour, heure_deb, heure_fin FROM participation_user, periodes WHERE jour_1 IS NOT NULL AND heure_debut_1 <= heure_deb AND heure_fin_1 >= heure_fin UNION ALL SELECT id_even, jour_2, heure_deb, heure_fin FROM participation_user, periodes WHERE jour_2 IS NOT NULL AND heure_debut_2 <= heure_deb AND heure_fin_2 >= heure_fin UNION ALL SELECT id_even, jour_3, heure_deb, heure_fin FROM participation_user, periodes WHERE jour_3 IS NOT NULL AND heure_debut_3 <= heure_deb AND heure_fin_3 >= heure_fin ) as tout WHERE id_even = ? GROUP by jour, heure_deb, heure_fin ORDER by jour, heure_deb, heure_fin" // participants par jour $requete = $bdd->prepare($sql); $requete->execute(array($_SESSION['id_sondage'])); $result=$requete->fetchAll(); foreach ($result as $uneperiode) { echo $uneperiode['cjour'] . " personne(s) le " . $uneperiode['jour'] . " entre " . $uneperiode['heure_deb'] . " et " . $uneperiode['heure_fin '] . "<br>"; } }
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
21
>
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
28 nov. 2017 à 23:56
28 nov. 2017 à 23:56
L'idée parait très bien mais comment cela peu fonctionner si je met pas par exemple un ID jour ou ou autre afin de savoir de quel heur on parle par rapport au jour ?
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
1 551
>
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
29 nov. 2017 à 00:34
29 nov. 2017 à 00:34
tu poses la question pour la table periodes? dans cette table, tu ne t'occupes pas des jours, uniquement des heures. cette table sert uniquement à découper les journées en périodes. cela va aider à trouver les personnes disponibles pendant toute la durée de chaque période.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
21
Modifié le 29 nov. 2017 à 23:25
Modifié le 29 nov. 2017 à 23:25
CREATE TABLE `plage_user` ( `id` int(11) NOT NULL, `jour` int(11) NOT NULL, `heure_deb` time NOT NULL, `heure_fin` time NOT NULL
Voila qui est fait après je teste votre code :)
Haha vu que j'ai tous modifier dans ma base de données je peu pu me servir de heure_debut_1, ....
Je fait faire la modification demain, je reviendrai :)
Merci bonne soirée.
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
21
3 déc. 2017 à 20:01
3 déc. 2017 à 20:01
Bonsoir, je viens de faire planté MySQL en voulant ajouter des plages horaires manuellement.... :/
Comment corriger cela ?
Bon moi je vais redémarrer le serveur peu être que cela peu marcher....
La sélection courante ne contient pas de colonne unique. Les grilles d'édition, les cases à cocher ainsi que les liens Éditer, Copier et Supprimer ne sont pas disponibles.
Comment corriger cela ?
Bon moi je vais redémarrer le serveur peu être que cela peu marcher....
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
21
3 déc. 2017 à 21:09
3 déc. 2017 à 21:09
Re donc j'ai crée un table plage_user, mais il serai peu être plus judicieux de faire comme cela :
Donc maintenant je doit modifier la structure du code SQL vu que j'ai pu de jour_1, jour_2, jour_3.....
Je vais déjà modifier ma page qui enregistre ces données vu que j'ai modifier ou le jour et la date doivent s'enregistrer.
Puis je m'attaque au SQL....
a AUTO_INCREMENT
id INT
jour VARCHAR
heure_deb TIME
heure_fin TIME
Donc maintenant je doit modifier la structure du code SQL vu que j'ai pu de jour_1, jour_2, jour_3.....
Je vais déjà modifier ma page qui enregistre ces données vu que j'ai modifier ou le jour et la date doivent s'enregistrer.
Puis je m'attaque au SQL....
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
1 551
3 déc. 2017 à 21:37
3 déc. 2017 à 21:37
suggestion:
if(isset($_SESSION['id_sondage'])){ $sql = "SELECT count(*) as cpers, jour, periode_deb, periode_fin FROM participation_user as u, plage_user as p, periodes as h WHERE p.id = u.id_user AND p.heure_deb <= h.periode_deb AND p.heure_fin >= h.periode_fin AND u.id_even = ? GROUP by jour, periode_deb, periode_fin ORDER by jour, periode_deb, periode_fin" // participants par jour et par période $requete = $bdd->prepare($sql); $requete->execute(array($_SESSION['id_sondage'])); $result=$requete->fetchAll(); foreach ($result as $uneperiode) { echo $uneperiode['cpers'] . " personne(s) le " . $uneperiode['jour'] . " entre " . $uneperiode['periode_deb'] . " et " . $uneperiode['periode_fin'] . "<br>"; } }
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
21
3 déc. 2017 à 22:05
3 déc. 2017 à 22:05
Super mais, on dirai que la table périodes, je l'est pas.
Je travail seulement sur la table participation_user et plage_user ( 'id' => qui correspond a l'ID de participation_user comme cela chaque participation relève d'une seule tranche horaire par événement et par utilisateur / jour => ou il y a le jour en toute lettres / 'heure_deb' => qui stocke horaire de début / 'heure_fin' => qui stocke l'horaire de fin ).
Voilà pour ce complément d'information de mon coté de vais tester de faire comme vous voir si j'arrive a quelque chose :)
Un grand merci a vous.
Je travail seulement sur la table participation_user et plage_user ( 'id' => qui correspond a l'ID de participation_user comme cela chaque participation relève d'une seule tranche horaire par événement et par utilisateur / jour => ou il y a le jour en toute lettres / 'heure_deb' => qui stocke horaire de début / 'heure_fin' => qui stocke l'horaire de fin ).
Voilà pour ce complément d'information de mon coté de vais tester de faire comme vous voir si j'arrive a quelque chose :)
Un grand merci a vous.
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
21
>
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
3 déc. 2017 à 22:10
3 déc. 2017 à 22:10
if(isset($_SESSION['id_sondage'])){ $sql = "SELECT count(*) as cpers, jour, heure_deb, heure_fin FROM participation_user as u, plage_user as p WHERE p.id = u.id AND p.heure_deb AND p.heure_fin AND u.id_even = ? GROUP by jour, heure_deb, heure_fin ORDER by jour, heure_deb, heure_fin"; // participants par jour et par période $requete = $bdd->prepare($sql); $requete->execute(array($_SESSION['id_sondage'])); $result=$requete->fetchAll(); foreach ($result as $uneperiode) { echo $uneperiode['cpers'] . " personne(s) le " . $uneperiode['jour'] . " entre " . $uneperiode['heure_deb'] . " et " . $uneperiode['heure_fin'] . "<br>"; } }
on dirai que ça marche ;)
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
21
3 déc. 2017 à 22:22
3 déc. 2017 à 22:22
Mais comment mètre sous forme de tableau pour facilité la lecture style par exemple savoir que a entre 20h et 21h par exemple il y a 40 personnes est c'est le pique le plus haut de la journée. Donc style changer de couleur la case.
Voici le résultat que j'aimerai avoir, car juste des simples ligne avec le nombres de personnes ça parle pas vraiment.
Alors que avec ce type de tableau c'est plus simple.
Voici le résultat que j'aimerai avoir, car juste des simples ligne avec le nombres de personnes ça parle pas vraiment.
Alors que avec ce type de tableau c'est plus simple.
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
1 551
4 déc. 2017 à 00:00
4 déc. 2017 à 00:00
echo "<table>"; foreach ($result as $uneperiode) { echo "<tr>" . "<td>" . $uneperiode['jour'] . "</td>" . "<td>" . $uneperiode['heure_deb'] ."</td>" . "<td>" . $uneperiode['heure_fin'] ."</td>" . "<td>" . $uneperiode['cpers'] . "</td>" . "</tr>"; } echo "</table>";
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
21
4 déc. 2017 à 09:47
4 déc. 2017 à 09:47
Bonjour, merci pour cette suggestion, donc au résultat j'ai cela :
Sauf que dans ma base de données j'ai Samedi 00:00:00 à 03:00:00 et Samedi 13:00:00 à 20:00:00 donc j'ai un problème niveau SQL déjà.
De plus peu t'on faire une boucle pour avoir le tableau 0h a 23h puis faire une autre boucle pour les données ou je devrai calculer le nombre de personne entre 0h et 1h puis 1h et 2h ect..... jusqu'a 23h a 0h.
Le jour données en sur la gauche du tableau, a coté le nombre de personnes suivant le créneau horaires puis déterminer les deux valeurs maximum par ligne de tableau.
Voila voila, donc je vais essayer de modifier la partie SQL et je vous tiens au courant. Bonne journée a vous et merci encore.
Sauf que dans ma base de données j'ai Samedi 00:00:00 à 03:00:00 et Samedi 13:00:00 à 20:00:00 donc j'ai un problème niveau SQL déjà.
De plus peu t'on faire une boucle pour avoir le tableau 0h a 23h puis faire une autre boucle pour les données ou je devrai calculer le nombre de personne entre 0h et 1h puis 1h et 2h ect..... jusqu'a 23h a 0h.
Le jour données en sur la gauche du tableau, a coté le nombre de personnes suivant le créneau horaires puis déterminer les deux valeurs maximum par ligne de tableau.
Voila voila, donc je vais essayer de modifier la partie SQL et je vous tiens au courant. Bonne journée a vous et merci encore.
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
1 551
4 déc. 2017 à 13:13
4 déc. 2017 à 13:13
je suggère de créer une table périodes, cela te permettra de calculer calculer le nombre de personne entre 0h et 1h puis 1h et 2h ect..... jusqu'a 23h a 0h.
dans cette table, tu aurais 23 enregistrements, correspondant aux périodes sur lesquelles tu veux faire le rapport.
dans cette table, tu aurais 23 enregistrements, correspondant aux périodes sur lesquelles tu veux faire le rapport.
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
21
4 déc. 2017 à 19:52
4 déc. 2017 à 19:52
Dis voir sur la table donc période, a chaque fois d'un utilisateur rentre une données par exemple : Samedi de 8h a 14h => dans ma table période j'ai:
C'est ça votre idée ?
Bon après j'ai un traitement php pour pouvoir ajouter cela a ma base de donnée.
Mais la j'ai aucune idée pour pouvoir savoir comment dire a php attention l'heure commence a 8h et fini a 14h donc voila les colonnes qui doivent être remplie.....
id => $id_reponse_user;
p1 => 0 // 0 à 1
p2 => 0 // 1 à 2
p3 => 0 // 2 à 3
p4 => 0 // 3 à 4
p5 => 0 // 4 à 5
p6 => 0 // 5 à 6
p7 => 0 // 6 à 7
p8 => 0 //7 à 8
p9 => 1 //8 à 9
p10 => 1 //9 à 10
p11 => 1 //10 à 11
p12 => 1 //11 à 12
p13 => 1 //12 à 13
p14 => 1 //13 à 14
p15 => 0 //14 à 15
p16 => 0 //15 à 16
p17 => 0 //16 à 17
p18 => 0 //17 à 18
p19 => 0 //18 à 19
p20 => 0 //19 à 20
p21 => 0 //20 à 21
p22 => 0 //21 à 22
p23 => 0 //22 à 23
p24=> 0 //23 à 0
C'est ça votre idée ?
Bon après j'ai un traitement php pour pouvoir ajouter cela a ma base de donnée.
Mais la j'ai aucune idée pour pouvoir savoir comment dire a php attention l'heure commence a 8h et fini a 14h donc voila les colonnes qui doivent être remplie.....
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
1 551
>
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
4 déc. 2017 à 20:30
4 déc. 2017 à 20:30
mon idée c'est d'avoir une table périodes qui servira uniquement à indiquer quelles sont les périodes de la journée pour lesquelles tu veux connaitre le nombre de personnes disponibles.
si, par exemple, tu veux savoir combien de personnes sont disponibles de 9h à 12h ou de 14h à 16h, tu mettrais deux enregistrements dans la table periodes:
si, par contre, tu veux savoir combien de personnes sont disponibles pendant chacune des 24 heures de la journée, tu mettrais 24 enregistrements dans la table periodes:
cette table ne changerait donc jamais, elle sert uniquement à déterminer les périodes que tu veux voir dans les rapports.
la requête SQL que je t'ai proposée utilisera cette table pour déterminer pour quelles périodes tu veux connaitre le nombre de participants.
si, par exemple, tu veux savoir combien de personnes sont disponibles de 9h à 12h ou de 14h à 16h, tu mettrais deux enregistrements dans la table periodes:
9h 12h 14h 16h
si, par contre, tu veux savoir combien de personnes sont disponibles pendant chacune des 24 heures de la journée, tu mettrais 24 enregistrements dans la table periodes:
0h 1h 1h 2h 2h 3h ... 23h 23h59m59s
cette table ne changerait donc jamais, elle sert uniquement à déterminer les périodes que tu veux voir dans les rapports.
la requête SQL que je t'ai proposée utilisera cette table pour déterminer pour quelles périodes tu veux connaitre le nombre de participants.
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
21
5 déc. 2017 à 22:28
5 déc. 2017 à 22:28
Bas la deuxième solution mais le seule problème comment déterminer cela, par exemple, je met dans mon formulaire Dimanche de 08H à 18H. Comment remplir ma table période en fonctionne du nombre de créneaux a remplir car dans cette exemple je doit faire :
Bon après faut que je trouve un moyen de déterminer les variables suivant ce que l'utilisateur rentre..... Et je sais vraiment pas comment faire. Car je peu déterminé la variable de début donc 8H qui correspond a la variable $p9 ( car de 8H à 9H ) et donc ma variable de fin $p18 ( car de 17H à 18H ). Donc après je dois trouver comment placer les autres variable en dehors du créneau de 08H à 18H et les définir comme égale a 0. Puis mètre chacune des variables du créneau horaire a 1 donc $p9, $p10, $p11, $p12, $p13, $p14, $p15, $p16, $p17, $p18.
$sql = "INSERT INTO periodes(id_plage_user, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24)VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; $insert_periode = $bdd->prepare($sql); $insert_periode->executie(array($id, $p1, $p2, $p3, $p4, $p5, $p6, $p7, $p8, $p9, $p10, $p11, $p12, $p13, $p14, $p15, $p16, $p17, $p18, $p19, $p20, $p21, $p22, $p23, $p24));
Bon après faut que je trouve un moyen de déterminer les variables suivant ce que l'utilisateur rentre..... Et je sais vraiment pas comment faire. Car je peu déterminé la variable de début donc 8H qui correspond a la variable $p9 ( car de 8H à 9H ) et donc ma variable de fin $p18 ( car de 17H à 18H ). Donc après je dois trouver comment placer les autres variable en dehors du créneau de 08H à 18H et les définir comme égale a 0. Puis mètre chacune des variables du créneau horaire a 1 donc $p9, $p10, $p11, $p12, $p13, $p14, $p15, $p16, $p17, $p18.
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
1 551
>
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
5 déc. 2017 à 22:39
5 déc. 2017 à 22:39
je pense avoir déjà écrit cinq fois que la table periodes n'a que deux champs.
relis les #14, 16, 18, 34 et 36. lis-tu ce que j'écris? si tu n'es pas d"accord, dis-le.
si tu fais le second choix propose en #36, la table périodes comprend un total de 24 enregistrements, simplement pour découper une journée en 24 heures.
relis les #14, 16, 18, 34 et 36. lis-tu ce que j'écris? si tu n'es pas d"accord, dis-le.
si tu fais le second choix propose en #36, la table périodes comprend un total de 24 enregistrements, simplement pour découper une journée en 24 heures.
jordane45
Messages postés
38300
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 novembre 2024
4 704
4 déc. 2017 à 10:03
4 déc. 2017 à 10:03
Bonjour,
Avant toutes choses .... il serait bien de définir clairement la structure de ta bdd .
Pour cela, nous fournir le MCD et/ou un DUMP de ta bdd serait un minimum.
Ensuite, ça ne sert à rien de faire des tests dans le code PHP tant que tu n'es pas sûr de tes requêtes en SQL !
En plus, je ne sais pas comment tu stockes les infos... mais en ce qui concerne cette ligne
mais si ton champ heure_deb est format time ( h:i:s) j'aurais plus vu
Avant toutes choses .... il serait bien de définir clairement la structure de ta bdd .
Pour cela, nous fournir le MCD et/ou un DUMP de ta bdd serait un minimum.
Ensuite, ça ne sert à rien de faire des tests dans le code PHP tant que tu n'es pas sûr de tes requêtes en SQL !
En plus, je ne sais pas comment tu stockes les infos... mais en ce qui concerne cette ligne
GROUP by jour, heure_deb, heure_fin
mais si ton champ heure_deb est format time ( h:i:s) j'aurais plus vu
GROUP by jour, Hour(heure_deb)
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
21
4 déc. 2017 à 12:54
4 déc. 2017 à 12:54
Bonjour, merci de ta réponse: voila DUMP de ma table:
Donc je doit travailler sur le SQL.
Merci pour vos conseils, il est vrai que crée une table pour stocker les jours et le temps est vraiment plus pratique.
--
-- Base de données : `projetweb`
--
-- --------------------------------------------------------
--
-- Structure de la table `infos_users`
--
CREATE TABLE `infos_users` (
`id` int(11) NOT NULL,
`id_user` int(11) NOT NULL,
`nom` varchar(50) DEFAULT NULL,
`prenom` varchar(50) DEFAULT NULL,
`sexe` int(11) DEFAULT NULL,
`date_naissance` text,
`profession` varchar(100) DEFAULT NULL,
`jeux` text
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Structure de la table `jeux`
--
CREATE TABLE `jeux` (
`id` int(11) NOT NULL,
`nom` varchar(100) NOT NULL,
`lien_image` text NOT NULL,
`type` text NOT NULL,
`info` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Structure de la table `participation_user`
--
CREATE TABLE `participation_user` (
`id` int(11) NOT NULL,
`id_user` int(11) NOT NULL,
`id_even` int(11) NOT NULL,
`id_jeu` int(11) NOT NULL,
`reponse` varchar(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Structure de la table `plage_user`
--
CREATE TABLE `plage_user` (
`a` int(11) NOT NULL,
`id` int(11) NOT NULL,
`jour` varchar(11) NOT NULL,
`heure_deb` time NOT NULL,
`heure_fin` time NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Structure de la table `sondage`
--
CREATE TABLE `sondage` (
`id` int(11) NOT NULL,
`id_jeu_1` int(11) NOT NULL,
`id_jeu_2` int(11) NOT NULL,
`jour_J` datetime NOT NULL,
`details` text NOT NULL,
`temps_sondage` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Structure de la table `users`
--
CREATE TABLE `users` (
`id` int(11) NOT NULL,
`pseudo` text NOT NULL,
`id_discord` text NOT NULL,
`mdp` text NOT NULL,
`mail` text NOT NULL,
`date_inscription` datetime NOT NULL,
`statut` int(11) NOT NULL DEFAULT '1'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Index pour les tables déchargées
--
--
-- Index pour la table `infos_users`
--
ALTER TABLE `infos_users`
ADD PRIMARY KEY (`id`);
--
-- Index pour la table `jeux`
--
ALTER TABLE `jeux`
ADD PRIMARY KEY (`id`);
--
-- Index pour la table `participation_user`
--
ALTER TABLE `participation_user`
ADD PRIMARY KEY (`id`);
--
-- Index pour la table `plage_user`
--
ALTER TABLE `plage_user`
ADD PRIMARY KEY (`a`);
--
-- Index pour la table `sondage`
--
ALTER TABLE `sondage`
ADD PRIMARY KEY (`id`);
--
-- Index pour la table `users`
--
ALTER TABLE `users`
ADD PRIMARY KEY (`id`);
--
-- AUTO_INCREMENT pour les tables déchargées
--
--
-- AUTO_INCREMENT pour la table `infos_users`
--
ALTER TABLE `infos_users`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;
--
-- AUTO_INCREMENT pour la table `jeux`
--
ALTER TABLE `jeux`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;
--
-- AUTO_INCREMENT pour la table `participation_user`
--
ALTER TABLE `participation_user`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=15;
--
-- AUTO_INCREMENT pour la table `plage_user`
--
ALTER TABLE `plage_user`
MODIFY `a` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=14;
--
-- AUTO_INCREMENT pour la table `sondage`
--
ALTER TABLE `sondage`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;
--
-- AUTO_INCREMENT pour la table `users`
--
ALTER TABLE `users`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=9;
Donc je doit travailler sur le SQL.
Merci pour vos conseils, il est vrai que crée une table pour stocker les jours et le temps est vraiment plus pratique.
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
21
4 déc. 2017 à 12:55
4 déc. 2017 à 12:55
jordane45
Messages postés
38300
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 novembre 2024
4 704
5 déc. 2017 à 22:46
5 déc. 2017 à 22:46
Re bonjour,
Tu ne pars pas sur de bonnes bases.....
Déjà... le MCD de ta bdd devrait ressembler à ça :
De là... il sera facile de faire les requêtes qui te donneront satisfaction...
Par exemple... le nombre de commandes pour le LUNDI aux différentes plages horaires
ça donnerait un truc du genre :
Avec ça .. facile de générer ta liste déroulante des plages horaires disponibles....
Tu ne pars pas sur de bonnes bases.....
Déjà... le MCD de ta bdd devrait ressembler à ça :
De là... il sera facile de faire les requêtes qui te donneront satisfaction...
Par exemple... le nombre de commandes pour le LUNDI aux différentes plages horaires
- lundi = 1 , mardi = 2 , mercredi = 3 etc...
ça donnerait un truc du genre :
SELECT H.id as ID_PLAGE, concat(H.heure_deb,'-' , H.heure_fin) as PLAGE, COUNT(C.id) as NB_COMMANDE FROM plages_horaires H LEFT JOIN commande C ON H.id = C.id_plage WHERE jour = 1 GROUP BY C.id
Avec ça .. facile de générer ta liste déroulante des plages horaires disponibles....
jordane45
Messages postés
38300
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 novembre 2024
4 704
5 déc. 2017 à 22:49
5 déc. 2017 à 22:49
Dans ce MCD .. comprend que
Pour un USER il peut y avoir 1 ou plusieurs commandes
Que pour chaque commande il faut y avoir 1 ou plusieurs produits
Que pour une commande il y a 1 plage horaire sélectionnée pour un jour donné
Il te faudra remplir (manuellement) la table plages_horaire toi même en définissant les différentes plages souhaitées.
Le reste étant géré via des requête INSERT / UPDATE dans ton programme.
Pour un USER il peut y avoir 1 ou plusieurs commandes
Que pour chaque commande il faut y avoir 1 ou plusieurs produits
Que pour une commande il y a 1 plage horaire sélectionnée pour un jour donné
Il te faudra remplir (manuellement) la table plages_horaire toi même en définissant les différentes plages souhaitées.
Le reste étant géré via des requête INSERT / UPDATE dans ton programme.
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
21
5 déc. 2017 à 22:56
5 déc. 2017 à 22:56
Euh ok, mais avec ce que j'ai déjà ça peu pas marcher pour arrivé au résultat que je veux avoir ?
Car j'ai une table plage_horaire comme tu donne dans ton exemple, j'ai la table participation_user qui ressemble ta table commande.
Sais vrai je stocke des jours dans mon champs jour, vous d'après ce que je vois ce son des chiffres de 1 à 7 donc.
J'arrive pas a comprendre pourquoi je n'arrive pas a obtenir mon résultat, bon si je pourrai faire 24 requêtes SQL pour obtenir les 24 résultats de chaque jours.
Vous me dirai cela n'est pas très optimiser,....
Car j'ai une table plage_horaire comme tu donne dans ton exemple, j'ai la table participation_user qui ressemble ta table commande.
Sais vrai je stocke des jours dans mon champs jour, vous d'après ce que je vois ce son des chiffres de 1 à 7 donc.
J'arrive pas a comprendre pourquoi je n'arrive pas a obtenir mon résultat, bon si je pourrai faire 24 requêtes SQL pour obtenir les 24 résultats de chaque jours.
Vous me dirai cela n'est pas très optimiser,....
jordane45
Messages postés
38300
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 novembre 2024
4 704
>
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
5 déc. 2017 à 23:18
5 déc. 2017 à 23:18
Si tu penses que ton modèle actuel est proche de celui que je te propose... tu ne devrais pas avoir de mal à adapter la requête que je viens de te donner
Si tu l'essayes.. tu verras qu'il n'est pas nécessaire d'en faire 24 ....
Si tu l'essayes.. tu verras qu'il n'est pas nécessaire d'en faire 24 ....
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
1 551
>
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
6 déc. 2017 à 00:52
6 déc. 2017 à 00:52
en fait, c'est la table période (avec 24 enregistrements) que je propose depuis le #14 qui va te permettre de tout faire en une requête plutôt qu'en 24.
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
21
>
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
7 déc. 2017 à 21:27
7 déc. 2017 à 21:27
Vous me parlez donc de la table période qui a deux champs de type time (heure_deb / heure_fin ) ?
Mais après pour remplir mon tableau je fait comment ?
Mais après pour remplir mon tableau je fait comment ?
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
21
6 mai 2018 à 01:17
6 mai 2018 à 01:17
Bonsoir, donc a mon avis je vais stocker cela dans un tableau associatif puis afficher le résultat.
Je vous tient au courant.
Je vous tient au courant.
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
21
11 mai 2018 à 22:02
11 mai 2018 à 22:02
Donc voila:
Dans phpmyadmin ça fonctionne bien :
En php :
Donc j'ai un message d'erreur :
Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '5 = '1' WHERE id = '3'' at line 1 in /Applications/MAMP/htdocs/exemple/index.php:48 Stack trace: #0 /Applications/MAMP/htdocs/exemple/index.php(48): PDOStatement->execute(Array) #1 {main} thrown in /Applications/MAMP/htdocs/exemple/index.php on line 48
Dans phpmyadmin ça fonctionne bien :
UPDATE `date` SET `0` = 1 WHERE `id` = 1
En php :
for ($i = $heurD_1; $i <= $heurF_1; $i++){ $sql = "UPDATE date SET $i = :H WHERE id = :id_t"; $up_1 = $bdd->prepare($sql); $up_1->execute(array('H' => '1', 'id_t' => $id_1)); }
Donc j'ai un message d'erreur :
Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '5 = '1' WHERE id = '3'' at line 1 in /Applications/MAMP/htdocs/exemple/index.php:48 Stack trace: #0 /Applications/MAMP/htdocs/exemple/index.php(48): PDOStatement->execute(Array) #1 {main} thrown in /Applications/MAMP/htdocs/exemple/index.php on line 48
jordane45
Messages postés
38300
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 novembre 2024
4 704
11 mai 2018 à 22:28
11 mai 2018 à 22:28
Ecoute.... ça fait des mois que tu nous demandes des conseils....
Qu'on t'explique comment faire... comment structurer tes tables....
et malgré ça... on en revient toujours au point de départ.
Tu n'écoutes aucun de nos conseils.
ça devient lassant.
.. je n'ai pas pour habitude de travailler sur un projet qui est mal structuré et que l'auteur refuse de faire évoluer dans le bon sens.
Tu veux continuer avec tes idées saugrenues et à travailler en mode brouillon sans reflechir... c'est toi qui voit. ...Perso... je laisse tomber.
Bon courage pour la suite.
Qu'on t'explique comment faire... comment structurer tes tables....
et malgré ça... on en revient toujours au point de départ.
Tu n'écoutes aucun de nos conseils.
ça devient lassant.
.. je n'ai pas pour habitude de travailler sur un projet qui est mal structuré et que l'auteur refuse de faire évoluer dans le bon sens.
Tu veux continuer avec tes idées saugrenues et à travailler en mode brouillon sans reflechir... c'est toi qui voit. ...Perso... je laisse tomber.
Bon courage pour la suite.
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
21
11 mai 2018 à 22:41
11 mai 2018 à 22:41
ok très bien bonne journée.
Je reviendrai plus ici donc.... je vais faire ça seule et voila.... le site porte bien sont nom sauf que ça marche pas... mais bon je fini tous ça
Je reviendrai plus ici donc.... je vais faire ça seule et voila.... le site porte bien sont nom sauf que ça marche pas... mais bon je fini tous ça
jordane45
Messages postés
38300
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 novembre 2024
4 704
>
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
11 mai 2018 à 22:46
11 mai 2018 à 22:46
le site porte bien sont nom sauf que ça marche pas.
ça marche très bien.... à condition de prendre note des remarques/conseils/consignes qu'on te donne.
Si tu es réfractaire à tout changement.... là ... en effet...ça marchera moins bien.
mais bon je fini tous ça
Courage.. tu n'es plus à 3 mois près visiblement....
A force de bidouiller ton code dans tous les sens.. tu finiras bien à le faire fonctionner.... en espérant pour toi que tu n’aies pas, par la suite, besoin de le faire évoluer.
A ce moment là... tu prendras peut-être le temps de reprendre les différentes réponses qui t'ont été données...
Bonne soirée.
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
21
>
jordane45
Messages postés
38300
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 novembre 2024
11 mai 2018 à 22:53
11 mai 2018 à 22:53
J'ai fait les changements que vous m'avez dit mais comment modifier quelque chose que l'on comprend pas ?
Alors après afin d'avancer oui j'ai changer le problème afin de simplifier mon problème, mais j'ai quand même un message d'erreur.
Donc mais vous avez raison on ne peu contredire un grand maître, mais merci de m'avoir aider.
Je vais tous reprendre a zéro.
Bonne soirée a vous.
Alors après afin d'avancer oui j'ai changer le problème afin de simplifier mon problème, mais j'ai quand même un message d'erreur.
Donc mais vous avez raison on ne peu contredire un grand maître, mais merci de m'avoir aider.
Je vais tous reprendre a zéro.
Bonne soirée a vous.
jordane45
Messages postés
38300
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 novembre 2024
4 704
11 mai 2018 à 22:58
11 mai 2018 à 22:58
grand maitre.. je ne sais pas;... mais expérimenté (voir .. très expérimenté...) ça oui.
Voila.. ça c'est la bonne attitude.
Donc... maintenant que nous sommes d'accord sur ce que tu dois faire... commence par poser, sur papier, le cahier des charges...(voir même le découpage fonctionnel) de ton programme... ainsi que le MCD de ta bdd qui en découle.
A partir de là seulement tu pourras songer à coder.
Je vais tous reprendre a zéro.
Voila.. ça c'est la bonne attitude.
Donc... maintenant que nous sommes d'accord sur ce que tu dois faire... commence par poser, sur papier, le cahier des charges...(voir même le découpage fonctionnel) de ton programme... ainsi que le MCD de ta bdd qui en découle.
A partir de là seulement tu pourras songer à coder.
26 nov. 2017 à 21:35
Donc le but est d'afficher si cela est disponible, une colonne supplémentaire avec en titre de colonne par exemple 0H est en dessous de nombre de personne disponible a cette heure la, suivant les jours disponible.
Jour_1 Jour_2 Jour_3 il y a des jours de la semaines enregistrer dedans, car au départ j'ai un formulaire qui demande les disponibilité et on peu en entré jusqu'a 3, la réponse est est positif, sinon aucune disponibilité donc les champs son par défaut en NULL.
Et quand je dis j'ai un tableau, c'est que j'optaient et ce qui est afficher.
Voila pour cela je vais modifier mon code afin de le simplifier et économiser des lignes :).
Merci a vous.
29 nov. 2017 à 22:27
Oulalalala..... (c'est ce que je dis quand je vois une table comme celle la. )
Que se passe t-il si demain tu décides d'avoir non pas 3 mais 4 plages ? Et si ensuite tu en veux 7 ????
Tu vas ajouter à la main des colonnes supplémentaires ??? Oo
Tu devrais avoir une table à part qui serait pour stoker les différentes plages de l'utilisateur
et ainsi, faire une liaison avec ta précédente table participation_use qui ne contiendrait plus que :
Ta requête pourra ainsi facilement être groupée sur les JOURS et sur les HEURES....
Et comme ça... si demain tu veux finalement autoriser 50 plages... ben tu pourras sans rien avoir à toucher dans ta bdd !
Une BDD ... on en construit le modèle au départ... et on n'y touche plus par la suite. Tout doit pouvoir se faire automatiquement.....