2010-02-13 7 views

Répondre

2

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 
1
<table> 
    <?php while (TRUE) { ?> 
     <?php 
      // Make an array of n rows. Trailing items may be FALSE if there 
      // are not enough rows to fill the table row. 
      // 
      $rows= array(); 
      for ($i= 0; $i<n; $i++) 
       $rows[$i]= mysql_fetch_assoc($result); 
      if (!$row[0]) 
       break; 
     ?> 
     <tr> 
      <?php foreach ($rows as $row) { ?> 
       <td> 
        <?php if ($row) { ?> 
         Value: <?php echo(htmlspecialchars($row['value']); ?> 
        <?php } ?> 
       </td> 
      <?php } ?> 
     </tr> 
    <?php } ?> 
</table> 
+1

Bel exemple de spaghettis codantes – Jacco

+1

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

+0

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

Questions connexes