j'ai trouver la reponse, pour ceux que ca interresse, voici le code
<?php
$nbCols = 3; // nombre de colonnes du tableau
$cpt = 0; // compteur d'éléments
?>
<table>
<tr>
<th style="width:<?php echo round(100/$nbCols);?>%;">Colonne 1</th>
<th style="width:<?php echo round(100/$nbCols);?>%;">Colonne 2</th>
<th style="width:<?php echo round(100/$nbCols);?>%;">Colonne 3</th>
</tr>
<?php
$rs = mysql_query(...); // exécution de la requête
// Nota : on pourrait tout aussi bien parcourir les éléments d'un tableau ou les fichiers d'un dossier
while ($row=mysql_fetch_assoc($rs)) { // parcours des résultats
// début d'une ligne
if ($cpt%$nbCols==0) // on divise le nb d'élément par le nb de colonnes. Si le reste est de 0 ...
echo '<tr>'; // ..., alors on est sur le premier élément d'une ligne
// On place chaque élément dans une cellule du tableau
echo '<td>';
echo ... // affichage de tout ce qu'on veut dans la cellule
echo '</td>';
// fin d'une ligne
if ($cpt%$nbCols==($nbCols-1)) // on divise le nb d'élément par le nb de colonnes. Si le reste est de ($nbCols-1) ...
echo '</tr>'; // ..., on est sur le dernier élément d'une ligne
$cpt++; // on incrémente le compteur pour savoir où on en est
}
// Au cas où ...
if ($cpt!=0 && $cpt%$nbCols!=0) { // S'il n'y a pas eu assez de cellules dans la boucle pour finir la ligne ...
echo '<td colspan="'.($nbCols - ($cpt%$nbCols) ).'"> </td>'; // ... on complète avec une cellule vide de la bonne taille...
echo '</tr>'; // ... et on ferme la ligne
}
?>
</table>
je tiens a préciser que le code n'est pas de moi mais il marche, alors merci a son createur