Bonsoir à tous.
j'ai lu et vu pas mal de tutoriel concernant les calendriers.
je me suis dis que ça serait une bonne base pour la création d'un planning qui me permettrait de gérer le planning des personnes.
j'ai donc fait ceci : ( ma page d'index )
ma page date.php :
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55 <!doctype html> <html> <head> <meta charset="UTF-8"> <title>planning</title> <link rel="stylesheet" type="text/css" href="style.css" /> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> </head> <body> <?php require('date.php'); $date = new Date(); $year = date('Y'); $dates = $date->getAll($year); ?> <div class="periods"> <div class="year"><?php echo $year; ?></div> <div class="months"> <ul> <?php foreach ($date->months as $id=>$m): ?> <li><a href="#" id="linkMonth<?php echo $id+1; ?>"><?php echo utf8_encode(substr(utf8_decode($m),0,3));?></a></li> <?php endforeach; ?> </ul> </div> <?php $dates = current($dates); ?> <?php foreach ($dates as $m=>$days): ?> <div class="month" id="month<?php echo $m; ?>"> <table> <thead> <tr> <?php foreach ($date->days as $d) : ?> <th><?php echo substr($d,0,3); ?></th> <?php endforeach; ?> </tr> </thead> <tbody> <tr> <?php foreach ($days as $d=>$w) : ?> <td><?php echo $d; ?></td> <?php endforeach; ?> </tr> </tbody> </table> </div> <?php endforeach; ?> </div> <pre><?php print_r($dates); ?></pre> </body> </html>
si je continue ainsi j'arriverais à faire un ......calendrier mais comme je veux faire un planning j'ai besoin d'afficher les nom des jours sous les les numéros de jours.
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 <?php class Date{ var $days = array ('Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi','Dimanche'); var $months = array ('Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Aout','Septembre','Octobre','Novembre','Décembre'); function getAll($year){ $r = array(); $date = new DateTime($year.'-01-01'); while ($date->format('Y') <= $year){ //Ce que je veux obtenir => $r[ANNEE][MOIS][JOUR] = JOUR DE LA SEMAINE $y = $date->format('Y'); $m = $date->format('n'); $d = $date->format('j'); $w = str_replace('0','7',$date->format('w')); $r[$y][$m][$d] = $w; $date->add(new DateInterval('P1D')); } return $r; } }
je pense que je dois faire une boucle à cette endroit de mon code :
mais pour l'instant toutes les boucles que j'ai écrites boucle à l’infinie et font planter mon navigateur car je n'arrive pas à récupérer le numéro des jours ( enfin je pense que c'est ce qu'il faut faire. par exemple dire qu'il faut afficher les noms des jours tant que le mois n'est pas finis. )
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <thead> <tr> <?php foreach ($date->days as $d) : ?> <th><?php echo substr($d,0,3); ?></th> <?php endforeach; ?> </tr> </thead>
merci de votre aide.
Partager