2012-06-12 16 views
4

問題:打印出來的表格水平,而不是垂直使用PHP

我有打印出垂直表,但我想它的水平,而不是打印。任何人都可以指導如何實現這一目標?

PHP代碼:

echo ' 
    <table class="table table-condensed table-bordered neutralize">  
     <tbody> 
      <tr> 
       <td><b>Kriterium</td> 
       <td><b>Betyg</td> 
      </tr> 
'; 

while ($row = mysql_fetch_assoc($result)) 
{ 
    echo ' 
     <tr> 
      <td>'.$i.'</td> 
      <td>'.$row['RID'].'</td> 
     </tr> 
    '; 

    $i++; 
} 

echo ' 
     </tbody> 
    </table> 
'; 

電流輸出:

enter image description here

希望的輸出:

enter image description here

+0

你在混合td和tr標籤。 –

回答

16

遍歷查詢結果首先建立所需的兩行,然後將它們添加到您的表算賬:

$kriterium = ''; 
$betyg = ''; 

while ($row = mysql_fetch_assoc($result)) 
{ 
    $kriterium .= '<td>'.$i.'</td>'; 
    $betyg .= '<td>'.$row['RID'].'</td>'; 
    $i++; 
} 

echo ' 
    <table class="table table-condensed table-bordered neutralize">  
     <tbody> 
      <tr> 
       <td><b>Kriterium</td>'.$kriterium .' 
      </tr> 
      <tr> 
       <td><b>Betyg</td>'.$betyg .' 
      </tr> 
     </tbody> 
    </table> 
'; 
+0

+1簡單而聰明。編號爲 – colonelclick

+0

的是'。='和'+ ='同樣的東西在PHP –

+1

否,'。='是連接賦值運算符,而'+ ='是加法賦值運算符。 –

1

可以在二維陣列收集數據,並且之後重用這個數組建立輸出以不同的格式:

$rows = array(); 
$index = 0; 

while ($row = mysql_fetch_assoc($result)) 
    $rows[0][] = ++$index; 
    $rows[1][] = $row['RID']; 
} 

$table = '<table class="table table-condensed table-bordered neutralize">  
    <tbody> 
    <tr><td><b>Kriterium</b></td><td>%s</td></tr> 
    <tr><td><b>Betyg</b></td><td>%s</td></tr> 
    </tbody> 
</table>'; 

printf(
    $table, 
    implode('</td><td>', $rows[0]), 
    implode('</td><td>', $rows[1]) 
);