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 :

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 : Sélectionner tout - Visualiser dans une fenêtre à part
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