2012-06-12 18 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]) 
);