salut,
première chose : c'est pas de balise
P qu'il faut mettre dans la balise tr mais des baise
TD la ta table ne sert a rien, les "p" s'affiche après.
la bonne syntaxe est donc <tr><td></td></tr> avec autant de td que souhaite de colonne.
pour faire ce que tu souhaite il faut utiliser l'opérateur modulo (qui fournit le reste de la division euclidienne) pour organiser le changement de ligne.
le principe :
- un compteur qui totalise le nombre d'éléments affichés.
- un if qui compare le modulo à zéro si c'est le cas tu affiche le changement de ligne (</tr><tr>).
- afficher l'image courante dan un <td></td>
par exemple
<?php
// la requête et le début de la table est a faire avant
// nombre de colonne
$nb_par_ligne = 3;
// compteur
$i = 0;
while($data =mysql_fetch_assoc($retour_mysql_query)) {
// on vérifie si $i n'est pas égale à zéro (1ère boucle) et si le modulo est a zéro
if ($i !== 0 && ($i%$nb_par_ligne ===0)){
// dans ce cas on change de ligne
echo '</tr><tr>';
}
// on affiche l'image courante
echo '<td>'.$data['image'].'</td>';
// on incrémente $i, sinon ben ça marche pas :d
$i++;
}
// on ferme correctement le tableau
while( ($i % $nb_par_ligne) !==0) {
echo '<td> </td>';
$i++;
echo '</tr></table>';
?>
@xTG : float:left sur une table ? la je pige pas par contre
@+