c'est simple la fonction
date permet d'avoir la date courante (ou une autre si tu lui donne le time stamp) avec le format que tu veux.
en clair : echo date('m'); t'affiches le mois courante
a partir de la c'est relativement simple de comparer à 12 (vu qu'il y a 12 mois dans l'année

)
la tu sais comment afficher les mois restant pour l'année courante (parce que j'ai donné le code dans mon premier message et qu'il n'y a qu'a changer l'initialisation de la boucle for).
maintenant il faut voir si la date dépasse l'année courante, pour cela il faut récupérer l'année de la date de fin et comparer à la date de début (dans mon exemple c'est la date courante).
si c'est plus grand il faut boucler de 1 jusqu'au dernier mois de la date final et cela autant de fois qu'il y a d'année entre début et fin.
donc une boucle pour le nombre d'année
<?php
for ($i = 2016; $i <= $anneFin; $i++) '
for($j = $moisDebut; $i<= $moisfin; $i++){
// le code d'affichage que j'ai mis dans mon premier message en prenant garde a bien remplacer ce qu'il faut
}
}
reste a calculer les variables, $moisDebut et $mois pour que le second if tourne
donc
<?php
$moisDebut = date('m');
$moisFin = date('m',$timestampDatefin);
if($i <= date('Y')) {
$moisDebut = date('m');
$moisFin = date('m',$timestampDatefin);
}
// cas entre année courant et année fin
elseif($i <= date('Y',$timestampDatefin)) {
$moisDebut = 1;
$moisFin = 12;
}
// cas année de fin
elseif($i == date('Y',$timestampDatefin){
$moisDebut = 1;
$moisFin = date('m',$timestampDatefin);
voilà a quoi cela peux ressembler.
maintenant que tu as tous bien lu
tu peux regarder ma première réponse
et copier
puis coller
le code de la réponse OK du troisième et dernier lien.
un DateTime peux être initialisé à partir de la méthode
DateTime::createFromFormat afin de correspondre au mieux au format de date que tu utilises.
Voilà c'est simple, fonctionnel et rapide .....
@+
c'est simple la fonction [url=http://php.net/date]date[/url] permet d'avoir la date courante (ou une autre si tu lui donne le time stamp) avec le format que tu veux.
en clair : echo date('m'); t'affiches le mois courante
a partir de la c'est relativement simple de comparer à 12 (vu qu'il y a 12 mois dans l'année ;) )
la tu sais comment afficher les mois restant pour l'année courante (parce que j'ai donné le code dans mon premier message et qu'il n'y a qu'a changer l'initialisation de la boucle for).
maintenant il faut voir si la date dépasse l'année courante, pour cela il faut récupérer l'année de la date de fin et comparer à la date de début (dans mon exemple c'est la date courante).
si c'est plus grand il faut boucler de 1 jusqu'au dernier mois de la date final et cela autant de fois qu'il y a d'année entre début et fin.
donc une boucle pour le nombre d'année
[php]<?php
for ($i = 2016; $i <= $anneFin; $i++) '
for($j = $moisDebut; $i<= $moisfin; $i++){
// le code d'affichage que j'ai mis dans mon premier message en prenant garde a bien remplacer ce qu'il faut
}
}[/php]
reste a calculer les variables, $moisDebut et $mois pour que le second if tourne
donc
[php]<?php
$moisDebut = date('m');
$moisFin = date('m',$timestampDatefin);
if($i <= date('Y')) {
$moisDebut = date('m');
$moisFin = date('m',$timestampDatefin);
}
// cas entre année courant et année fin
elseif($i <= date('Y',$timestampDatefin)) {
$moisDebut = 1;
$moisFin = 12;
}
// cas année de fin
elseif($i == date('Y',$timestampDatefin){
$moisDebut = 1;
$moisFin = date('m',$timestampDatefin);[/php]
voilà a quoi cela peux ressembler.
maintenant que tu as tous bien lu
tu peux regarder ma première réponse
et copier
puis coller
le code de la réponse OK du troisième et dernier lien.
un DateTime peux être initialisé à partir de la méthode [url=http://php.net/manual/fr/datetime.createfromformat.php]DateTime::createFromFormat[/url] afin de correspondre au mieux au format de date que tu utilises.
Voilà c'est simple, fonctionnel et rapide .....
@+