Table des mutliplications

Résolu
Tzmagnum Messages postés 132 Statut Membre -  
 tzmagnum -
Bonjour,

Comment faire pour que mes premières lignes horizontale & vertical soit de 0 à 10 et que l'horizontale ne soit pas en négatif mais bien en positif svp ?

Merci d'avance

Voici le code et un printscreen du résultat :

<html>
      <head><title>Afficher le tableau des multiplications</title>
<style type="text/css">

.tableStyle{
background:#dbe5f1;
border:1px solid black;
width:600px;
margin:40px;
}
.tableStyle tr td{
border:1px solid black;
text-align:center;
}
</style>
</head>
</html>
<center>
<?php
function cl($i,$j)
 {
$r="background-color:chocolate";
$c="background-color:coral";

$k="background-color:khaki";
   if($i==0 ){
      return $r;
      }elseif($i%2==1){
	    
     return $c;
         }else{
	   return $k;
	  }
 }
 echo"<h2> <b><u>Tableau  des multiplications :</u></b> </h2>";
echo"<table  class='tableStyle'>";
 for($i=0;$i<12;$i++)
 {
 
  $r="background-color:chocolate";
$g="background-color:coral";
    echo"<tr>";
    for($j=0;$j<12;$j++)
   {
       $k=$i-1;
	   $l=$j-1;
	   $p=$l*$k;
     if( $j==0 and $i==0)
	   { 
	   echo"<td style='$r;'> &nbsp  </td>";
       }elseif( $j==0 )
       {
		 
	     echo "<td style='$r;'><b>$k</b></td>"; 
	   }else{
	         $c=cl($i,$j);
              if($i==$j or $i==0)
			  {
		    
       echo"<td style='$c;'><b>$p</b></td>"; 
	       	     }else{
			     echo"<td style='$c;'>$p</td>"; 
			     }
	        }
	} 
   	
     echo"</tr>";
 
 }
echo"</table>"; 


?>
</center>


2 réponses

  1. popozz Messages postés 246 Statut Membre 177
     
    Bonjour,

    Voici le code et après les explications :

    <html>
        <head>
        <title>Afficher le tableau des multiplications</title>
      <style type="text/css">
       .tableStyle {
        background:#dbe5f1;
        border:1px solid black;
        width:600px;
        margin:40px;
       }
       .tableStyle tr td {
        border:1px solid black;
        text-align:center;
       }
      </style>
     </head>
     <body>
      <center>
       <?php
        function cl($i,$j)
         {
        $r="background-color:chocolate";
        $c="background-color:coral";
    
        $k="background-color:khaki";
           if($i==1 ){
              return $r;
              }elseif($i%2==1){
             
             return $c;
                 }else{
            return $k;
           }
         }
         echo"<h2> <b><u>Tableau  des multiplications :</u></b> </h2>";
        echo"<table  class='tableStyle'>";
         for($i=1;$i<12;$i++)
         {
         
          $r="background-color:chocolate";
        $g="background-color:coral";
            echo"<tr>";
            for($j=1;$j<12;$j++)
           {
               $k= $i-1;
            $l= $j-1;
            $p= $l * $k;
    
             if( $j==1 and $i==1)
            { 
            echo"<td style='$r;'>    </td>";
               }elseif( $j==1 )
               {
            //Facteur Colonne
              echo "<td style='$r;'><b>$k</b></td>"; 
            }else{
                 $c=cl($i,$j);
                    if($i==$j) {
               //Diagonale
                  echo '<td style=' . $c . ';"><b>' . $p . '</b></td>'; 
           }
            //Facteur Horizontal
           elseif ($i==1) {
            echo '<td style=' . $c . ';"><b>' . $l . '</b></td>';
           }
           else{
            //Verticale
            echo '<td style=' . $c . ';">' . $p . '</td>'; 
           }
          }
         } 
            
             echo"</tr>";
         
         }
        echo"</table>";
       ?>
      </center>
     </body>
    </html>
    


    Votre problème c'était qu'à la ligne 60 vous avez mit la variable $p. Mais en corrigeant cette variable la diagonale ne fonctionne plus.

    Alors voila ce que j'ai changé : A la ligne 62 j'ai rajouté un elseif pour séparé la condition en 2, en faisant cela il y a une condition qui multiplie la verticale par l'horizontale et l'autre qui n'affiche que l'horizontal. Et j'ai aussi fait en sorte que le tableau commence par 1 et non par 0.

    Ravi d'avoir aidé
    0
    1. Tzmagnum Messages postés 132 Statut Membre
       
      Merci beaucoup.

      Et si par exemple je voudrais qu’il commence par 0 et qu’il fini par 10, que dois-je changer svp ?

      Merci d’avance
      0
      1. popozz Messages postés 246 Statut Membre 177 > Tzmagnum Messages postés 132 Statut Membre
         
        Pour faire ça il suffit de changer tout les 1 qui se trouvent dans une condition ou une boucle par 0

        if($i == 1 ){


        Devien

        if($i == 0 ){


        Vous faites ça pour toutes les conditions ou les boucles. Enfaite ce chiffre correspond à la la première ligne ou colonne.
        0