Planning php gestion des dates
Résolujeremy.s Messages postés 1248 Statut Membre -
Je suis en stage, et je désire faire un planning mensuel pour plusieurs salarié. J'ai fait le tableau en statique cela me parait plutôt bien. Simplement pour simplifié, et aussi augmenter la durée de vie de mon application je souhaiterais que les dates s'affectent à des jours automatiquement.
Par exemple si je choisis le moi de janvier 2022 je voudrai qu'il me donne les dates du 1er au 31 janviers (ça pas trop compliqué) mais en plus que dans la case d'accoter il me donne le bon jour correspondant.
Y a t il un moyen simple de faire cela ?
- Gestion planning php
- Gestion planning equipe - Télécharger - Outils professionnels
- Planning congés - Guide
- Planning infirmier - Télécharger - Outils professionnels
- Expert php - Télécharger - Langages
- Gestion de fichiers - Télécharger - Gestion de fichiers
70 réponses
- 1
- 2
- 3
- 4
Un besoin concerne la génération automatique des dates mensuelles et l'affectation du jour correspondant dans un planning, en PHP, pour un mois donné. La solution privilégiée dans les échanges est de consulter un tutoriel sur un calendrier dynamique avec des événements stockés en base de données, notamment celui de Grafikart. Plusieurs interventions évoquent aussi les limites potentielles liées à la version de PHP et à l'utilisation éventuelle de PDO, ce qui peut influencer l'approche côté serveur. Pour compléter, le fil met en avant l'intérêt de lier le calendrier à une base pour récupérer des événements, afin d'améliorer la période et les données affichées.
Tu peux récupérer (en anglais) le nom des jours avec la fonction date et le format "D" :
$date=strtotime("2015-06-20 12:00:00");
echo date("D",$date);
Mais tu peux faire des trucs simples pour récupérer au format que tu veux, genre un tableau avec les jour de la semaine en anglais et leurs correspondances en français.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionA quoi ressemble l'interface? Comment se fait la saisie de la date?
Tu as un calendrier , sur lequel tu clique sur une date qui doit te renvoyer? Ou tu entre une date dans un champ?
-----------------------------------------------------------------------------------------------
- -----------------------------------------Indisponiblité------------------- Indisponibilité
- Date--------------Jour-----Matin -----------ou --------après-midi-----------ou
---------------------------------------------Absence---------------------------Absence
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------
-01/05/2013--Lundi---------9-12h-_____________----14/18h-----___________
-------------------------------------------------------------------------------------------------
(désolé pour la qualité du tableau :/)
ect ect (pour un moi complet).
J'ai fait cela en "dure" c'est a dire que j'ai fait un tableau ou j'ai rentrée les champs 1 par 1 à la main dans le code pour voir ce que ça donnait et ça me plait.
Maintenant ce que j'aimerai faire c'est : Généré le tableau sans avoir à rentrée à chaque fois là date et le jour correspondant.
Et en gros j'aimerai que de la partie Administration que j'ai déjà, je puisse completer les horaires et les indisponibilité ou absence du tableau simplement en écrivant dedans (et non pas dans la code). Et que je puisse les consulter sans être loger a l'application.
Je ne sais pas si c'est très clair :/
Comment passes tu au mois suivant ou au mois précédent? Tu parles d'une partie administrateur, si tu ne peux pas éditer sur la page les plages horaires je ne comprends pas la différence entre le compte admin et le compte du simple utilisateur?
Le plus simple serait que tu postes un bout de code pour voir comment l'adapter à ce que tu cherches à faire.
Quand tu arrives sur la page, je voudrais qu'on arrive sur une page avec une liste déroulante qui donne les mois et une autre qui donne les année jusqu'en ... hmm disons 2025 ainsi qu'une autre liste contenant le nom et prénom de la personne concernée par l'emploi du temps voulu. (Ceci n'est pas compliqué à faire)
Ensuite je voudrai que cela affiche un tableau comme celui-ci :
Code (de mon fichier statique) :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Csc : Plannings</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<link rel="stylesheet" href="Css.css" type="text/css" />
</head>
<body>
<center><h1>Centre SocioCulturel</h1></center>
<center><h2>Point de Mire</h2></center>
<center><h2>Plannings</h2></center>
<ul class="menu" >
<li><a href="index.html">Accueil</a></li>
<li><a href="planning.php">Plannings</a></li>
<li><a href="reservationSalle.php">Réservation des salles</a></li>
<li><a href="reservationmateriel.php">Réservation matériel</a></li>
<li><a href="reservationvehicule.php">Réservation d'un véhicule</a></li>
<li><a href="connexion.php">Connexion </a></li>
</ul></center><br />
<table>
<caption>Exemple de planning possible</caption>
<colgroup>
<col span="1" width="70" style="background-color:#C2C3C3" />
<col span="1" width="70" style="background-color: #7EB8C4" />
<col span="1" width="70" style="background-color: #C2C3C3" />
<col span="1" width="70" style="background-color: #C2C3C3" />
<col span="1" width="70" style="background-color: #C2C3C3" />
<col span="1" width="70" style="background-color: #C2C3C3" />
</colgroup>
<tr>
<th></th>
<th></th>
<th>Horaires fixes</th>
<th></th>
<th>Horaires fixes</th>
<th></th>
</tr>
<tr>
<td class="date">Date</td>
<td class="jour"><b>Jour</b></td>
<td class="heure1"><b>Matin</b></td>
<td class="reunion"><b>Indisponibilités ou abscences</b></td>
<td class="heure1"><b>Après-Midi</b></td>
<td class="reunion"><b>Indisponibilités ou abscences</b></td>
</tr>
<tr>
<td class="date">01/05/2013</td>
<td class="jour">Mercredi</td>
<td class="heure"></td>
<td class="reunion"></td>
<td class="heure"></td>
<td class="reunion"></td>
</tr>
<tr>
<td class="date">02/05/2013</td>
<td class="jour">Jeudi</td>
<td class="heure"></td>
<td class="reunion"></td>
<td class="heure"></td>
<td class="reunion"></td>
</tr>
<tr>
<td class="date">03/05/2013</td>
<td class="jour">Vendredi</td>
<td class="heure"></td>
<td class="reunion"></td>
<td class="heure"></td>
<td class="reunion"></td>
</tr>
<tr class="week">
<td class="date">04/05/2013</td>
<td class="jourweek">Samedi</td>
<td class="heure"></td>
<td class="reunion"></td>
<td class="heure"></td>
<td class="reunion"></td>
</tr>
<tr class="week">
<td class="date">05/05/2013</td>
<td class="jourweek">Dimanche</td>
<td class="heure"></td>
<td class="reunion"></td>
<td class="heure"></td>
<td class="reunion"></td>
</tr>
<tr>
<td class="date">06/05/2013</td>
<td class="jour">Lundi</td>
<td class="heure"></td>
<td class="reunion"></td>
<td class="heure"></td>
<td class="reunion"></td>
</tr>
<tr>
<td class="date">07/05/2013</td>
<td class="jour">Mardi</td>
<td class="heure"></td>
<td class="reunion"></td>
<td class="heure"></td>
<td class="reunion"></td>
</tr>
<tr>
<td class="date">08/05/2013</td>
<td class="jour">Mercredi</td>
<td class="heure"></td>
<td class="reunion"></td>
<td class="heure"></td>
<td class="reunion"></td>
</tr>
<tr>
<td class="date">09/05/2013</td>
<td class="jour">Jeudi</td>
<td class="heure"></td>
<td class="reunion"></td>
<td class="heure"></td>
<td class="reunion"></td>
</tr>
<tr>
<td class="date">10/05/2013</td>
<td class="jour">Vendredi</td>
<td class="heure"></td>
<td class="reunion"></td>
<td class="heure"></td>
<td class="reunion"></td>
</tr>
<tr class="week">
<td class="date">11/05/2013</td>
<td class="jourweek">Samedi</td>
<td class="heure"></td>
<td class="reunion"></td>
<td class="heure"></td>
<td class="reunion"></td>
</tr>
<tr class="week">
<td class="date">12/05/2013</td>
<td class="jourweek">Dimanche</td>
<td class="heure"></td>
<td class="reunion"></td>
<td class="heure"></td>
<td class="reunion"></td>
</tr>
<tr>
<td class="date">13/05/2013</td>
<td class="jour">Lundi</td>
<td class="heure"></td>
<td class="reunion"></td>
<td class="heure"></td>
<td class="reunion"></td>
</tr>
<tr>
<td class="date">14/05/2013</td>
<td class="jour">Mardi</td>
<td class="heure"></td>
<td class="reunion"></td>
<td class="heure"></td>
<td class="reunion"></td>
</tr>
<tr>
<td class="date">15/05/2013</td>
<td class="jour">Mercredi</td>
<td class="heure"></td>
<td class="reunion"></td>
<td class="heure"></td>
<td class="reunion"></td>
</tr>
<tr>
<td class="date">16/05/2013</td>
<td class="jour">Jeudi</td>
<td class="heure"></td>
<td class="reunion"></td>
<td class="heure"></td>
<td class="reunion"></td>
</tr>
<tr>
<td class="date">17/05/2013</td>
<td class="jour">Vendredi</td>
<td class="heure"></td>
<td class="reunion"></td>
<td class="heure"></td>
<td class="reunion"></td>
</tr>
<tr class="week">
<td class="date">18/05/2013</td>
<td class="jourweek">Samedi</td>
<td class="heure"></td>
<td class="reunion"></td>
<td class="heure"></td>
<td class="reunion"></td>
</tr>
<tr class="week">
<td class="date">19/05/2013</td>
<td class="jourweek">Dimanche</td>
<td class="heure"></td>
<td class="reunion"></td>
<td class="heure"></td>
<td class="reunion"></td>
</tr>
<tr>
<td class="date">20/05/2013</td>
<td class="jour">Lundi</td>
<td class="heure"></td>
<td class="reunion"></td>
<td class="heure"></td>
<td class="reunion"></td>
</tr>
<tr>
<td class="date">21/05/2013</td>
<td class="jour">Mardi</td>
<td class="heure"></td>
<td class="reunion"></td>
<td class="heure"></td>
<td class="reunion"></td>
</tr>
<tr>
<td class="date">22/05/2013</td>
<td class="jour">Mercredi</td>
<td class="heure"></td>
<td class="reunion"></td>
<td class="heure"></td>
<td class="reunion"></td>
</tr>
<tr>
<td class="date">23/05/2013</td>
<td class="jour">Jeudi</td>
<td class="heure"></td>
<td class="reunion"></td>
<td class="heure"></td>
<td class="reunion"></td>
</tr>
<tr>
<td class="date">24/05/2013</td>
<td class="jour">Vendredi</td>
<td class="heure"></td>
<td class="reunion"></td>
<td class="heure"></td>
<td class="reunion"></td>
</tr>
<tr class="week">
<td class="date">25/05/2013</td>
<td class="jourweek">Samedi</td>
<td class="heure"></td>
<td class="reunion"></td>
<td class="heure"></td>
<td class="reunion"></td>
</tr>
<tr class="week">
<td class="date">26/05/2013</td>
<td class="jourweek">Dimanche</td>
<td class="heure"></td>
<td class="reunion"></td>
<td class="heure"></td>
<td class="reunion"></td>
</tr>
<tr>
<td class="date">27/05/2013</td>
<td class="jour">Lundi</td>
<td class="heure"></td>
<td class="reunion"></td>
<td class="heure"></td>
<td class="reunion"></td>
</tr>
<tr>
<td class="date">28/05/2013</td>
<td class="jour">Mardi</td>
<td class="heure"></td>
<td class="reunion"></td>
<td class="heure"></td>
<td class="reunion"></td>
</tr>
<tr>
<td class="date">29/05/2013</td>
<td class="jour">Mercredi</td>
<td class="heure"></td>
<td class="reunion"></td>
<td class="heure"></td>
<td class="reunion"></td>
</tr>
<tr>
<td class="date">30/05/2013</td>
<td class="jour">Jeudi</td>
<td class="heure"></td>
<td class="reunion"></td>
<td class="heure"></td>
<td class="reunion"></td>
</tr>
<tr>
<td class="date">31/05/2013</td>
<td class="jour">Vendredi</td>
<td class="heure"></td>
<td class="reunion"></td>
<td class="heure"></td>
<td class="reunion"></td>
</tr>
</center>
</body>
</html>
Partie "remplissage":
Pour le remplir je voudrais que les salarié se connecte (partie déjà réaliser car l'application sert aussi pour certaines réservation) et que quand il est connecté il puisse aller sur une page où il doit choisir un moi et une année (vià des listes déroulantes) et qu'il arrive sur un tableau qu'il puisse remplir directement et que cela ce sauvegarde pour le voir dans la partie que tout le monde peut voir.
Ensuite effectivement aucune différence entre un admin et un simple utilisateur (excusez-moi^^)
Ce n'est pas ce que tu veux faire, mais pour te familiariser avec les dates et le coté dynamique avec BDD, tu peux regardé ce très bon tuto qui explique comment faire un calendrier avec des évènements récupéré en bdd :
https://www.grafikart.fr/tutoriels/calendrier-php-157
Même si ca parrait long et pas spécialement compréhensible la première fois qu'on le regarde, c'est très bien expliqué :)
Après je vais relire les messages pour bien saisir ce que tu souhaites faire, mais de toute façon kyser zone t'aideras très bien dans tous les cas :)
J'espere que la video va m'aider car sinon je suis dans la galère^^
Quand t'auras compris tu pouras faire ton systeme, c'est un peu ca le but.
Tu te feras une table avec une récupération de données et l'affichage qui va avec ;-)
- 1
- 2
- 3
- 4