La communauté ALL HTML c'est 58452 membres à ce jour dont 3 inscrits aujourd'hui et 29 depuis une semaine.

Communauté ALL HTML : telnes

Créer des tableaux avec N cellules par ligne (modulo)

Cet article est actuellement publié sur le site.

Photo de telnes Article publié le lundi 17 décembre 2007 par telnes.
Cet article est classé dans les catégories « Ergonomie, HTML, PHP »

Comment créer un tableau avec 3 cellules par ligne par exemple ? ou 10 cellules... Pour cela on va s'intérresser au modulo.

Modulo kezako

L'opérateur modulo est représenté par "%" en informatique.

Définition

 

Il y a une definition sur wikipédia http://fr.wikipedia.org/wiki/Arithm%C3%A9tique_modulaire mais il faut s'accrocher :)

je vais donc donner une définition simple !


a % b est le reste de la division entière de a par b

en prenant un exemple :

13 % 10 = 3

parce que 13 / 10 = 1 reste 3
Exemple

tester le code suivant
<?php

for($i=0;$i<16;$i++){
echo "$i % 4 =".($i%4)."<br />";
}

?>

qui devrait vous donner


0 % 4 =0
1 % 4 =1
2 % 4 =2
3 % 4 =3
4 % 4 =0
5 % 4 =1
6 % 4 =2
7 % 4 =3
8 % 4 =0
9 % 4 =1
10 % 4 =2
11 % 4 =3
12 % 4 =0
13 % 4 =1
14 % 4 =2
15 % 4 =3


explication de 2%4 : combien de fois on peut mettre 4 dans 2, 0 fois donc il reste 2

Trève de mathématique et passons à la pratique

<?php $nb = 3; //nombre de cellule par ligne echo "<table border=1>\n"; for($i=0;$i<16;$i++){ $start = ($i%$nb == 0)?"<tr>":""; //si 1ere élement on commence une ligne $end = ($i%$nb == $nb-1)?"</tr>\n":""; //si dernier élément on finit la ligne echo "$start<td>$i</td>$end"; //on affiche } echo "</table>\n"; ?>

qui retournera le code :

<table border=1>
<tr><td>0</td><td>1</td><td>2</td></tr>
<tr><td>3</td><td>4</td><td>5</td></tr>
<tr><td>6</td><td>7</td><td>8</td></tr>
<tr><td>9</td><td>10</td><td>11</td></tr>
<tr><td>12</td><td>13</td><td>14</td></tr>
<tr><td>15</td></table>

ceci est un exemple d'utilisation du modulo, d'autre solution sont possible en utilisant les if différament. Il n'y a jamais une solution.

ACCÉS COMMUNAUTÉ

Rejoignez ALL HTML

Publiez vos articles, actualités, communiqués ... Donnez votre avis, partagez votre réseau, rencontrez d'autres membres et participez à la vie de la communauté.