2010-02-13 24 views

回答

2

取得一個表的佈局一樣,你只需要條件的放置上表格行的結尾。

<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> 

什麼上面所做的是使用模運算符(%,計算從餘數)來打印關閉和打開排標籤時,我們正處在一個均勻的編號結果。

另外,如果你想改變你的表格佈局爲3個或4列寬,所有你需要做的是改變應用到模數:

$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

的很好的例子麪條編碼 – Jacco 2010-02-16 12:11:19

+1

你在說什麼?這是一個單一的一致的標記樹,與「意大利麪代碼」完全相反。您可以從縮進中看到每個元素和PHP結構開始和結束的位置,這使得它比隱藏在大塊PHP中的隨機「回聲」更易於維護。 – bobince 2010-02-16 13:28:15

+0

我認爲如果它在解析和輸出模式之間使用較少的切換,它會更具可讀性。我讀了你的'正確的PHP教程'(http://stackoverflow.com/questions/2119083/php-tutorial-that-is-security-accuracy-and-maintainability-conscious)問題,我同意你的觀點,除了一件事:從一開始就教會新的語言使用模板系統。 – Jacco 2010-02-17 13:14:08