[PHP] Porbleme de compteur / boucle

[PHP] Porbleme de compteur / boucle - PHP - Programmation

Marsh Posté le 27-01-2004 à 21:37:31    

Bon voilà je débute en php et je dois faire une petite table de comptage comme ceci :
 
Table de 1
 
1 multiplié par 1 = 1
 
2 multiplié par 1 = 2
 
3 multiplié par 1 = 3
 
4 multiplié par 1 = 4
 
5 multiplié par 1 = 5
 
Table de 2
 
1 multiplié par 2 = 2
 
2 multiplié par 2 = 4
 
3 multiplié par 2 = 6
 
4 multiplié par 2 = 8
 
5 multiplié par 2 = 10
 
Table de 3
 
1 multiplié par 3 = 3
 
2 multiplié par 3 = 6
 
3 multiplié par 3 = 9
 
4 multiplié par 3 = 12
 
5 multiplié par 3 = 15
 
 
 
Je réussis a faire cette petite table comme ceci :
 

Code :
  1. $compteur=5;
  2. $table=3;
  3. <?php
  4. for($i=1; $i<=$table; $i++)
  5.  {for($x=1; $x<=$compteur; $x++)
  6.   {
  7.     echo "Table par $i <br />";
  8.     echo " $i multiplier par $x =" .($i*$x). " <br /> ";
  9.   }
  10.    }
  11. ?>


 
 
ce qui donne
 
Table par 1  
1 multiplier par 1 =1  
Table par 1  
1 multiplier par 2 =2  
Table par 1  
1 multiplier par 3 =3  
Table par 1  
1 multiplier par 4 =4  
Table par 1  
1 multiplier par 5 =5  
Table par 2  
2 multiplier par 1 =2  
Table par 2  
2 multiplier par 2 =4  
Table par 2  
2 multiplier par 3 =6  
Table par 2  
2 multiplier par 4 =8  
Table par 2  
2 multiplier par 5 =10  
Table par 3  
3 multiplier par 1 =3  
Table par 3  
3 multiplier par 2 =6  
Table par 3  
3 multiplier par 3 =9  
Table par 3  
3 multiplier par 4 =12  
Table par 3  
3 multiplier par 5 =15  
 
 
 
mais voilà j'ai un prob.. il m'affiche sans cesse table de 1.. table de 2 .. tt le temps au lieu d'une seule fois !  
Je veux y remedier en placant echo "Table par $i <br />"; apres ma premiere boucle mais ca ne fonctionne pas.
Comment faire ?

 
 
 
PS : je m'excuse j'ai modif le code


Message édité par Dolby le 27-01-2004 à 21:47:57
Reply

Marsh Posté le 27-01-2004 à 21:37:31   

Reply

Marsh Posté le 27-01-2004 à 21:43:19    

code corrigé ici :
 

Code :
  1. <?php
  2. $compteur=5;
  3. $table=3;
  4. for($i=1; $i<=$table; $i++){
  5.   echo "Table par $i <br />";
  6.   for($x=1; $x<=$compteur; $x++)
  7.    {
  8.    echo " $i multiplier par $x =" .($i*$x). " <br /> ";
  9.    }
  10.     }
  11. ?>


 
 
En fait l'accolade de ta premiere boucle était apres l'instruction qui affiche ..
 
du coup ta premiere boucle for, vu qu'elle n'a pas d'accolage, fait la boucle sur la premiere instruction qui la suit, et ici, c'est un echo
donc ton premier for a fait tous les echos des tables, et ton deuxieme for a fait ses calculs sans tenir compte du premier for.


Message édité par skylight le 27-01-2004 à 21:43:35
Reply

Marsh Posté le 27-01-2004 à 21:43:33    

1. Utilise la balise cpp quand tu tapes du code, ce sera plus clair :)
2. C'est normal les 2 initialisations de variables en dehors des balises <?php ?> ? :)
3. (la vrai réponse) le { ouvrant de ta première boucle est mal mis, il doit être juste après la paranthèse fermante du for (comme tu le fait pour la deuxième), pas après le echo :)

Reply

Marsh Posté le 27-01-2004 à 21:48:10    

je m'excuse j'ai mal copié le code :-(
Vous pouvez reverifier svp ?


Message édité par Dolby le 27-01-2004 à 21:48:22
Reply

Marsh Posté le 27-01-2004 à 21:49:20    

copie ce que j'ai marqué, ca marche.

Reply

Marsh Posté le 27-01-2004 à 21:52:45    

merci ..

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed