<?php // on remplit un tableau avec des valeurs, toi tu prendra celui où se trouve ton contenu $tab = array(); for ($i = 0; $i < 50; $i++) { array_push($tab, 'valeur'.$i); } // nombre d'éléments à afficher par ligne $num = 10; echo '<table><tr>'; // on va sortir les éléments en commencant par la fin du tableau, donc on l'inverse ... $tab = array_reverse($tab); // on affiche le contenu (voir doc de array_pop, on enlève la donnée du tableau, donc si tu en a besoin plus loin, faire une copie du tableau, de même les données sont sorties en commencant par la "fin", raison pour laquelle on a fait le reverse au dessus) for ($i = 1; ($var = array_pop($tab)) !== NULL; $i++) { echo '<td>'.$var.'</td>'; // toutes les x données on change de ligne ... if (($i % $num) == 0) { echo '</tr><tr>'; } } // le for a fait une incrémentation de plus que nécéssaire, on l'enlève $i--; // on termine notre tableau pour qu'il soit valide (si par exemple notre dernière ligne n'a que deux éléments alors que notre tableau fait 8 colonnes, on insère 6 éléments vides) while (($i++ % $num) != 0) { echo '<td> </td>'; } echo '</tr></table>'; ?>
J'espère que c'est assez clair.