Modérateur PHPfrance |
2575 Messages
16 avr. 2007, 09:16
Le modulo ne fait que retourner le reste d'une division entière.
Quand le modulo est nul on peut donc affirmer qu'un un nombre est divisible par un autre.
C'est en tout cas ce que tu veux faire en divisant tes lignes de table en N colonnes imprimées avant d'imprimer un retour à la ligne.
Mais tu peux utiliser une autre technique, par exemple, en comptant le nombre de colonnes imprimées avant d'imprimer un retour à la ligne.
L'algorithme peut être le suivant:
Data : conteneur de données à imprimer dans la table
nData : nombre de données
nCol : nombre de colonnes imprimables par ligne
Remarque: mathématiquement, le nombre de lignes qui seront imprimées est : nData / nCol si les valeurs de nData et nCol sont connues. nCol est donc forcement >0
Méthode 1: Utiliser le modulo
Code : Tout sélectionner
nCol = 3; //3 colonnes par ligne
Imprimer "<table>";
i = 0;
Tantque ( i < nData)
Si ( i Modulo nCol == 0 ) Imprimer "<tr>"; //imprime le retour à la ligne
Imprimer "<td>Data[i]</td>"; //imprime une donnée dans une colonne
i ++; //passer à la donnée suivante
FinTantque;
Imprimer "</table>";
Méthode 2: Utiliser un compteur de colonnes
Code : Tout sélectionner
nCol = 3; //3 colonnes par ligne
Imprimer "<table>";
i = 0;
Tantque ( i < nData)
Imprimer "<tr>"; //imprime le retour à la ligne
Pour ( c = 1 à nCol )
Si ( i < nData ) Imprimer "<td>Data[i]</td>"; //imprime une donnée dans une colonne
i ++; //passer à la donnée suivante
FinPour
FinTantque;
Imprimer "</table>";
L'avantage de la première méthode est qu'elle est plus simple (moins de boucles).
Dans les langages de programmation, Tantque est un While, Si est un If, Pour est un For et Imprimer ou Afficher est une instruction d'affichage comme echo ou print.
Remarque:
- On peut dire que nData et nCol sont 2 paramètres qui agissent sur la forme de la table affichée respectivement sur la hauteur (nombre de lignes = nData/nCol) et sur la largeur (nombre de colonnes=nCol)
Si nCol augmente la largeur de la table augmente et Si nData augmente la hauteur de la table augmente.
--------
//////----
//---
//----
//////
-------
//---
//----
//---
//----
//---
//
------
//////----
//////-----
//////
-----
||--------
||--
||---
||
Prendre le recul n'est pas une perte de temps.
ps:
Affrontez moi dans l'arène