je tape dans le mur pour une boucle

Eléphant du PHP | 76 Messages

15 avr. 2008, 14:22

Bonjour,
petite boucle
$a=date("n")+8;
$an=date("Y");

if($a>12){$a="0";$an=date("Y")+1;}

for ($i = $a; $i < $a+4; $i++){

 echo$i;echo"***";
 echo$an;echo"<br>";
 }
qui me donne

12***2008
13***2008
14***2008
15***2008

comment arriver pour qu'il me donne
12***2008
1***2009
2***2009
3***2009
:oops:

Eléphant du PHP | 445 Messages

15 avr. 2008, 14:24

Mets ton IF dans ta boucle.

Eléphant du PHP | 76 Messages

15 avr. 2008, 14:28

ben si je fais ce que tu me dis
for ($i = $a; $i < $a+4; $i++){
if($a>12){$a="0";$an=date("Y")+1;}
 echo$i;echo"***";
 echo$an;echo"<br>";
 }
ça fait rien

Eléphant du PHP | 445 Messages

15 avr. 2008, 14:31

C'est normal car c'est le $i que tu incrémente dans ta boucle et pas le $a.

Donc change ta condition en remplaçant $a par $i.

Eléphant du PHP | 76 Messages

15 avr. 2008, 14:40

for ($i = $a; $i < $a+4; $i++){
if($i>12){$i="1";$an=date("Y")+1;}
 echo$i;echo"***";
 echo$an;echo"<br>";
 }
ben là ça devient une boucle infinie

Eléphant du PHP | 445 Messages

15 avr. 2008, 15:03

Essayes comme ceci :
$a  = date("n")+8;  // $a = MOIS + 8
$an = date("Y");    // $an = ANNEE

if($a>12)
{
    $a = $a-12 ;    // 13->1  14->2  15->3 ...
    $an++;          // On passe a l'annee suivante
}

for($i = $a; $i < $a+4; $i++)
{
    $j = $i ;

    if($i>12)    // Si $i>12 alors $j recommence a 1 pour ne pas activer condition du FOR
    {
        $j=1 ;
        $an++ ;
    }

    echo $j.'***'.$an.'<br>' ;
}
Modifié en dernier par h0_noMan le 15 avr. 2008, 15:04, modifié 1 fois.

ViPHP
ViPHP | 4039 Messages

15 avr. 2008, 15:03

allons allons, un peu de logique..
$a=date("n")+8;
$an=date("Y");

if($a>12){$a="0";$an=date("Y")+1;}

for ($i = $a,$mois=$i; $i < $a+4; $i++,$mois++)
   {
   if ($mois > 12) 
    {
    $mois=1;
    $an++;
    }
   echo$mois;echo"***";
   echo$an;echo"<br>";
   } 
Il faut bien voir ce qu'on incrémente, ce qui se passe si on le modifie, et les répercussion de chaque instruction..
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Eléphant du PHP | 76 Messages

15 avr. 2008, 15:17

Merci à vous 2 =D>