Afin d 'obtenir une mise en page de table comme vous avez juste besoin de conditionner la mise en place de la fin de vos lignes de table.
<table>
<tr>
<?php
$count = 0;
while($row = mysql_fetch_assoc($result)) :
$count++;
?>
<td><?php echo $row['value'] ?></td>
<?php if($count % 2 == 0 || $count == mysql_num_rows($res)) : ?>
</tr>
<?php if($count != mysql_num_rows($result)) : ?>
<tr>
<?php endif; ?>
<?php endif; ?>
<?php endwhile; ?>
</table>
Ce que le fait ci-dessus est d'utiliser l'opérateur de module (%
, calcule le reste de la division) pour imprimer une étiquette de ligne fermeture et l'ouverture chaque fois que nous sommes à un résultat numéroté de façon uniforme.
En outre, si vous voulez changer votre mise en page de la table pour être 3 ou 4 colonnes large tout ce que vous devez faire est de changer le nombre appliqué au module:
$count % 3 == 0 //3 columns
$count % 4 == 0 //4 columns, etc
Bel exemple de spaghettis codantes – Jacco
De quoi parlez-vous? C'est un seul arbre de balisage cohérent, qui est le contraire du "code spaghetti". Vous pouvez voir à partir de l'indentation où chaque élément et la structure de PHP commencent et se terminent, ce qui le rend beaucoup plus facile à gérer que l'écho aléatoire caché dans un grand bloc de PHP. – bobince
Je pense qu'il serait beaucoup plus lisible si elle utilisait moins de commutation entre l'analyse et le mode de sortie. J'ai lu votre question de 'bon tutoriel PHP' (http://stackoverflow.com/questions/2119083/php-tutorial-that-is-security-accuracy-and-maintainability-conscious) et je suis d'accord avec vos points de vue sauf pour une chose : apprendre aux gens à utiliser la langue dès le début. – Jacco