Problème d'algorithme pour la création d'un calendrier
Bonjour tout le monde,
J'ai une classe PHP qui me permet de générer un table qui servira de calendrier.
J'ai par exemple deux jours de la semaine utilisés :
Jeudi de 09 à 12h00
Vendredi de 08 à 11h00
Le problème est que les heures de jeudi et vendredi vont se mettre dans jeudi et vendredi :
J'ai donc :
Jeudi 09h00, 09h30... 12h00, 08h00, 08h30,... 11h00
idem pour vendredi (voir l'url <==)
Voici le code de ma classe :
Comme vous pouvez le voir, j'ai mis des print_r et des echos afin de déboger.
Le débogage me donne ceci :
Citation:
Array ( [1] => janvier [2] => février [3] => mars [4] => avril [5] => mai [6] => juin [7] => juillet [8] => août [9] => septembre [10] => octobre [11] => novembre [12] => décembre ) print_r de months vaut : 1
Array ( [1] => lundi [2] => mardi [3] => mercredi [4] => jeudi [5] => vendredi [6] => samedi [7] => dimanche ) print_r de days vaut : 1
$month vaut => 8
$year vaut => 2013
print_r du $date
DateTime Object ( [date] => 2013-08-01 13:33:57 [timezone_type] => 3 [timezone] => Europe/Berlin )
stdClass Object ( [jours] => 4,5 ) jours_reservables => 1
print_r($arr_jours) =>
Array ( [0] => 4 [1] => 5 )
$days_of_the_week vaut :
Array ( [0] => 4 [1] => 5 )
$date->format("n") => 8
Array ( [0] => 9:00 [1] => 12:00 [2] => 8:00 [3] => 11:00 ) $arr_heures : 1
DateTime Object ( [date] => 2013-08-16 09:00:00 [timezone_type] => 3 [timezone] => Europe/Berlin ) $start : 1
DateTime Object ( [date] => 2013-08-16 12:00:00 [timezone_type] => 3 [timezone] => Europe/Berlin ) end : 1
DateTime Object ( [date] => 2013-08-16 09:00:00 [timezone_type] => 3 [timezone] => Europe/Berlin )
DateTime Object ( [date] => 2013-08-16 12:00:00 [timezone_type] => 3 [timezone] => Europe/Berlin )
Array ( [0] => 09h00 ) hoursssss >>>>> : 1
Array ( [0] => 09h00 [1] => 09h30 ) hoursssss >>>>> : 1
Array ( [0] => 09h00 [1] => 09h30 [2] => 10h00 ) hoursssss >>>>> : 1
Array ( [0] => 09h00 [1] => 09h30 [2] => 10h00 [3] => 10h30 ) hoursssss >>>>> : 1
Array ( [0] => 09h00 [1] => 09h30 [2] => 10h00 [3] => 10h30 [4] => 11h00 ) hoursssss >>>>> : 1
Array ( [0] => 09h00 [1] => 09h30 [2] => 10h00 [3] => 10h30 [4] => 11h00 [5] => 11h30 ) hoursssss >>>>> : 1
Array ( [0] => 09h00 [1] => 09h30 [2] => 10h00 [3] => 10h30 [4] => 11h00 [5] => 11h30 [6] => 12h00 ) hoursssss >>>>> : 1
Array ( [0] => Array ( [0] => DateTime Object ( [date] => 2013-08-01 13:33:57 [timezone_type] => 3 [timezone] => Europe/Berlin ) [1] => DateTime Object ( [date] => 2013-08-02 13:33:57 [timezone_type] => 3 [timezone] => Europe/Berlin ) ) [1] => Array ( [0] => DateTime Object ( [date] => 2013-08-08 13:33:57 [timezone_type] => 3 [timezone] => Europe/Berlin ) [1] => DateTime Object ( [date] => 2013-08-09 13:33:57 [timezone_type] => 3 [timezone] => Europe/Berlin ) ) [2] => Array ( [0] => DateTime Object ( [date] => 2013-08-15 13:33:57 [timezone_type] => 3 [timezone] => Europe/Berlin ) [1] => DateTime Object ( [date] => 2013-08-16 13:33:57 [timezone_type] => 3 [timezone] => Europe/Berlin ) ) [3] => Array ( [0] => DateTime Object ( [date] => 2013-08-22 13:33:57 [timezone_type] => 3 [timezone] => Europe/Berlin ) [1] => DateTime Object ( [date] => 2013-08-23 13:33:57 [timezone_type] => 3 [timezone] => Europe/Berlin ) ) [4] => Array ( [0] => DateTime Object ( [date] => 2013-08-29 13:33:57 [timezone_type] => 3 [timezone] => Europe/Berlin ) [1] => DateTime Object ( [date] => 2013-08-30 13:33:57 [timezone_type] => 3 [timezone] => Europe/Berlin ) ) )
Le problème se trouve dans cette boucle :
Code:
1 2 3 4 5 6 7 8
| while ($start <= $end)
{
$hours[] = $start->format('H\hi');
echo 'hoursssss >>>>> : '.print_r($hours);
echo '<br /><br />';echo '<br /><br />';
$intervalle = Configuration::renvoyer_intervalle();
$start->modify('+'.$intervalle->intervale.' min');
} |
C'est ici que le code génère jeudi et vendredi.
Il faudrait je pense générer chaque jour choisi séparément, c'est là que je bloque.
L'horaire est sous ce format : 9:00#12:00#8:00#11:00
Mille mercis d'aance pour votre aide.
bee