Boucle de 7 en 7

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Boucle de 7 en 7

par Invité » 16 mai 2005, 18:25

Résolu, merci beaucoup.

Code : Tout sélectionner

<? $jour=strftime("%u"); $delta=6-$jour; if ($delta<0) $delta+=7; $samedi= strftime("%Y%m%d",time()+$delta*24*3600); $month = substr($samedi, 4 ,2); $year = substr($samedi, 0 ,4); $lastday = date("Ymd", mktime(0, 0, 0, $month, substr($samedi, 6, 2)+720, $year)); $last = 720; $sam = 0; while ( $sam <= $last ) { $list = date("d M Y", mktime(0, 0, 0, $month, substr($samedi, 6, 2)+$sam, $year)); echo "$list<br>"; $sam+= 7; } ?>

par Epeda » 16 mai 2005, 18:08

Oui ça donne la même chose, mais c'est plus prudent :)

par kells » 16 mai 2005, 18:04

C'a change rien, c'a donne la même chose.

par zeus » 16 mai 2005, 18:01

Je te conseille d'incrémenter $samedi APRES ton traitement, sinon tu risque de dépasser ton test avant le traitement
while ( $samedi <= $lastday ) 
{
$list = date("d M Y", mktime(0, 0, 0, $month, substr($samedi, 6, 2)+'.$samedi.', $year));
echo "$list<br>";
$samedi+= 7;
}

par kells » 16 mai 2005, 17:56

Voila j'ai fait ce que tu m'as dis mais la, je bloque, pensé que tout était OK mais c'a s'arrete au mois de juillet et c'a reprend :

Code : Tout sélectionner

<? $jour=strftime("%u"); $delta=6-$jour; if ($delta<0) $delta+=7; $samedi= strftime("%Y%m%d",time()+$delta*24*3600); $month = substr($samedi, 4 ,2); $year = substr($samedi, 0 ,4); $lastday = date("Ymd", mktime(0, 0, 0, $month, substr($samedi, 6, 2)+720, $year)); while ( $samedi <= $lastday ) { $samedi+= 7; $list = date("d M Y", mktime(0, 0, 0, $month, substr($samedi, 6, 2)+'.$samedi.', $year)); echo "$list<br>"; } ?>
et voila le résultat :

28 May 2005
04 Jun 2005
11 Jun 2005
18 Jun 2005
25 Jun 2005
02 Jul 2005
09 Jul 2005
16 Jul 2005
23 Jul 2005
30 Jul 2005
06 Aug 2005
05 May 2005
12 May 2005
19 May 2005
26 May 2005
02 Jun 2005
09 Jun 2005
16 Jun 2005
23 Jun 2005
30 Jun 2005
07 Jul 2005
14 Jul 2005
21 Jul 2005
28 Jul 2005
04 Aug 2005
03 May 2005

Merci

par zeus » 16 mai 2005, 17:18

Et eu lieu d'incrémenter de 1, si tu incrémentais de 7 ?
while ( $samedi <= $lastday )
{
echo $samedi . ' ';
$samedi+= 7;
} 

Boucle de 7 en 7

par kells » 16 mai 2005, 17:14

Bonjour, j'aimerais faire une boucle qui aille de 7 en 7, pour afficher chaque samedi, mais je n'arrive qu'à faire +1 jours, il doit surrement y avoir une solution, je ne la trouve pas?

Code : Tout sélectionner

<? $jour=strftime("%u"); $delta=6-$jour; if ($delta<0) $delta+=7; $samedi= strftime("%Y%m%d",time()+$delta*24*3600); $month = substr($samedi, 4 ,2); $year = substr($samedi, 0 ,4); $lastday = date("d M Y", mktime(0, 0, 0, $month, substr($samedi, 6, 2)+720, $year)); while ( $samedi <= $lastday ) { echo $samedi . ' '; $samedi++; } ?>
Merci